- 组合式单位与数值基础重构:scripts/Models/UnitModel.cs, scripts/Models/UnitComponents.cs, scripts/Models/StudentModel.cs, scripts/Models/MentorModel.cs, scripts/Models/StaffModel.cs, scripts/Models/PropertyValue.cs, scripts/Models/StatusValue.cs - 任务与运行时状态骨架:scripts/Models/Task.cs, scripts/Models/TaskDefinitions.cs, scripts/Models/GameState.cs - 配置与规则定义骨架:scripts/Models/DefinitionSupport.cs, scripts/Models/DomainEnums.cs, scripts/Models/Modifiers.cs, scripts/Models/DisciplineDefinitions.cs, scripts/Models/SynergyDefinitions.cs, scripts/Models/ItemDefinitions.cs, scripts/Models/PaperDefinitions.cs, scripts/Models/RogueliteDefinitions.cs, scripts/Models/GameContentDatabase.cs, scripts/Models/CoreIds.cs - MVC/会话/系统/i18n/Mod 支撑:scripts/Core/GameSession.cs, scripts/Core/GameSystems.cs, scripts/Core/GameController.cs, scripts/Core/Mvc.cs, scripts/Core/LocalizationService.cs, scripts/Core/ContentRegistry.cs, scripts/Core/ModManifest.cs, scripts/Core/EventBus.cs - 主控流程衔接:scripts/GameManager.cs
52 lines
1.3 KiB
C#
52 lines
1.3 KiB
C#
namespace Models;
|
|
|
|
/// <summary>
|
|
/// 导师数据模型 (MentorModel)
|
|
/// 设计说明:
|
|
/// 1) 改为组合式结构,不再使用单例,避免全局隐式依赖。
|
|
/// 2) 导师只保留“角色自身状态”,资金/声望等全局资源归 EconomyState 管理。
|
|
/// 3) 这样便于后续扩展多导师/多人模式或 Mod 玩法。
|
|
/// 注意事项:
|
|
/// - 构造函数不做复杂逻辑,具体初始数值交由 GameSession 初始化。
|
|
/// 未来扩展:
|
|
/// - 可加入“导师技能树/天赋树”组件,与肉鸽继承系统对接。
|
|
/// - 可加入“导师光环”组件,在系统层计算对学生的影响范围。
|
|
/// </summary>
|
|
public sealed class MentorModel
|
|
{
|
|
public enum MentorModeType
|
|
{
|
|
Worker,
|
|
Manager
|
|
}
|
|
|
|
public UnitModel Core { get; }
|
|
public MentorResources Resources { get; }
|
|
public MentorModeType Mode { get; set; } = MentorModeType.Worker;
|
|
|
|
public string Name
|
|
{
|
|
get => Core.Name;
|
|
set => Core.Name = value;
|
|
}
|
|
|
|
public MentorModel(string name)
|
|
{
|
|
Core = new UnitModel(name);
|
|
Resources = new MentorResources();
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 导师资源组件(角色自身能量池)
|
|
/// </summary>
|
|
public sealed class MentorResources
|
|
{
|
|
public StatusValue Energy { get; set; }
|
|
|
|
public MentorResources()
|
|
{
|
|
Energy = new StatusValue(100, 100, 0);
|
|
}
|
|
}
|