namespace Models;
///
/// 导师数据模型 (MentorModel)
/// 玩家的数值状态。
/// 单例模式。
///
public class MentorModel : UnitModel
{
private static MentorModel _instance;
public static MentorModel Instance
{
get
{
if (_instance == null)
{
// 如果需要默认名称,这里可以硬编码或改为 Lazy 加载
_instance = new MentorModel("Player");
}
return _instance;
}
}
public enum MentorModeType
{
Worker,
Manager
}
///
/// 精力值 (Energy)
/// 用于释放技能(画饼、PUA、甚至亲自写代码)。
/// 每回合恢复。
///
public StatusValue Energy { get; set; }
///
/// 经费 (Money/Funds)
/// 单位:元。用于发工资、买设备。
///
public int Money { get; set; } = 50000;
///
/// 学术声望 (Reputation)
/// 影响招生质量、项目申请成功率。
///
public int Reputation { get; set; } = 0;
///
/// 算力/数据资源 (ResearchPoints)
/// 用于攻克高难度 AI 课题。
///
public int ResearchPoints { get; set; } = 0;
public MentorModeType Mode { get; set; } = MentorModeType.Worker;
// 私有构造函数,防止外部实例化
private MentorModel(string name) : base(name)
{
// 初始化 Energy,默认上限 10000 (100.00)
Energy = new StatusValue(new PropertyValue(10000), new PropertyValue(10000), new PropertyValue(0));
}
// 如果需要重置单例(例如新游戏),可以添加一个重置方法
public static void Reset(string name = "Player")
{
_instance = new MentorModel(name);
}
}