using System; namespace Models; /// /// 雇员/合作人数据模型 (StaffModel) /// 设计说明: /// 1) 覆盖“博后/小老师”等非学生角色,强调长期合作与野心值。 /// 2) 继续复用 UnitModel 组件,保证与学生/导师统一的数据接口。 /// 注意事项: /// - Staff 行为逻辑应由系统层决定(例如背刺/跳槽)。 /// 未来扩展: /// - 可加入“合作者关系网”和“派系归属”。 /// public sealed class StaffModel { public enum StaffType { PostDoc, JuniorFaculty } public UnitModel Core { get; } public StaffType Type { get; private set; } public StaffMotivation Motivation { get; } public string Name { get => Core.Name; set => Core.Name = value; } public StaffModel(string name, StaffType type, Random random = null) { Core = new UnitModel(name, random); Type = type; Motivation = new StaffMotivation(); } } public sealed class StaffMotivation { public StatusValue Ambition { get; set; } = new(50, 100, 0); public StatusValue Loyalty { get; set; } = new(70, 100, 0); public StatusValue ContractTurns { get; set; } = new(6, 12, 0); }