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