44 lines
1.3 KiB
C#
44 lines
1.3 KiB
C#
using UnityEngine;
|
|
|
|
public enum AchievementRarity
|
|
{
|
|
Common, // 普通 (白)
|
|
Advanced, // 进阶 (绿)
|
|
Rare, // 卓越 (蓝)
|
|
Epic, // 史诗 (紫)
|
|
Legendary, // 传说 (金)
|
|
Mythic, // 神话 (红)
|
|
Exquisite // 至臻 (彩)
|
|
}
|
|
|
|
public enum AchievementCategory
|
|
{
|
|
Combo, // 连击类
|
|
TotalCure, // 治疗总量
|
|
TotalDamage, // 伤害总量
|
|
TotalManaRestored // 法力恢复总量
|
|
}
|
|
|
|
[System.Serializable]
|
|
public class AchievementLevel
|
|
{
|
|
public string levelName; // 等级名称 (例如: 50连击)
|
|
public float triggerValue; // 触发数值
|
|
public AchievementRarity rarity; // 稀有度
|
|
public string description; // 详情介绍 (一行文本)
|
|
public Sprite icon; // 图标
|
|
}
|
|
|
|
[CreateAssetMenu(fileName = "NewAchievementCategory", menuName = "EaseOut/Achievement Category")]
|
|
public class InGameAchievementSO : ScriptableObject
|
|
{
|
|
[Header("分类信息")]
|
|
public string achievementID; // 成就编号
|
|
public string achievementType; // 成就类型 (string)
|
|
public AchievementCategory category;
|
|
public GameObject customPrefab; // 该分类特有的预制体 (可选)
|
|
|
|
[Header("成就等级列表")]
|
|
public System.Collections.Generic.List<AchievementLevel> levels = new System.Collections.Generic.List<AchievementLevel>();
|
|
}
|