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 levels = new System.Collections.Generic.List(); }