Files
zeling_v2/Assets/_Game/Scripts/Progression/AchievementSO.cs

50 lines
1.7 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
using UnityEngine;
namespace BaseGames.Progression
{
public enum AchievementType { Story, Collection, Challenge, Hidden }
public enum AchievementTier { Bronze, Silver, Gold }
/// <summary>
/// 成就数据 ScriptableObject架构 16_SupportingModules §2.3)。
/// 包含显示信息、类型/等级分类、触发条件列表及奖励配置。
/// </summary>
[CreateAssetMenu(menuName = "BaseGames/Achievement/Achievement", fileName = "ACH_")]
public class AchievementSO : ScriptableObject
{
[Header("标识")]
[Tooltip("平台成就唯一标识符(与 Steam/平台后端同步)")]
public string achievementId;
[Header("显示")]
[Tooltip("成就显示名称")]
public string displayName;
[TextArea(2, 4)]
[Tooltip("成就描述(解锁后展示)")]
public string description;
[TextArea(2, 4)]
[Tooltip("隐藏成就未解锁时展示的描述,留空则显示 ???")]
public string hiddenDescription;
[Tooltip("成就图标(解锁后)")]
public Sprite icon;
[Tooltip("隐藏成就未解锁时的占位图标")]
public Sprite hiddenIcon;
[Header("分类")]
public AchievementType type = AchievementType.Story;
public AchievementTier tier = AchievementTier.Bronze;
[Header("触发条件")]
[Tooltip("所有条件同时满足时触发解锁;留空则仅通过代码直接解锁")]
public AchievementCondition[] conditions;
[Header("奖励")]
[Tooltip("解锁此成就是否同时授予凹槽Notch")]
public bool grantsNotch;
}
}