Files
bansonic_beta_main/Assets/scripts/InGameAchievements/InGameAchievementSO.cs
T

45 lines
1.4 KiB
C#

using UnityEngine;
public enum AchievementRarity
{
Common, // 普通 (白)
Advanced, // 进阶 (绿)
Rare, // 卓越 (蓝)
Epic, // 史诗 (紫)
Legendary, // 传说 (金)
Mythic, // 神话 (红)
Exquisite // 至臻 (彩)
}
public enum AchievementCategory
{
Combo, // 连击类
TotalCure, // 治疗总量
TotalDamage, // 伤害总量
TotalManaRestored, // 法力恢复总量
TotalScore // 总分数
}
[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>();
}