47 lines
1.1 KiB
C#
47 lines
1.1 KiB
C#
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
|
|
public enum AchievementRarity
|
|
{
|
|
Common,
|
|
Advanced,
|
|
Rare,
|
|
Epic,
|
|
Legendary,
|
|
Mythic,
|
|
Exquisite
|
|
}
|
|
|
|
public enum AchievementCategory
|
|
{
|
|
Combo, // 连击类
|
|
TotalCure, // 治疗总量
|
|
TotalDamage, // 伤害总量
|
|
TotalManaRestored, // 法力恢复总量
|
|
TotalScore,
|
|
Autoplay // 自动打击/观赏模式
|
|
}
|
|
|
|
[System.Serializable]
|
|
public class AchievementLevel
|
|
{
|
|
public string levelName;
|
|
public float triggerValue;
|
|
public string description;
|
|
public Sprite icon;
|
|
public AchievementRarity rarity = AchievementRarity.Common;
|
|
}
|
|
|
|
[CreateAssetMenu(fileName = "NewAchievementCategory", menuName = "EaseOut/Achievement Category")]
|
|
public class InGameAchievementSO : ScriptableObject
|
|
{
|
|
[Header("Inspector")]
|
|
public string achievementID;
|
|
public string achievementType;
|
|
public AchievementCategory category;
|
|
public GameObject customPrefab;
|
|
|
|
[Header("Inspector")]
|
|
public List<AchievementLevel> levels = new List<AchievementLevel>();
|
|
}
|