SuperAPI AI 工具集

unity-game-architecture

通用与其它

查看项目

更新于 10-16 01:37

技能介绍

用途:为 Unity 项目提供游戏系统架构的决策模式,解决 Claude 默认写出臃肿 MonoBehaviour、直接引用和到处单例的问题。前置技能包括 unity-scripting、unity-lifecycle、unity-foundations。

主要能力与决策:

  1. 全局服务访问:小项目用 Lazy Singleton;中型项目需替换实现做测试时用 Service Locator(Register<T>/Get<T>);大型项目或库代码用构造/方法 DI,可配合 VContainer 或 Zenject。服务应面向接口(如 IAudioService),并注意 SubsystemRegistration 重置。
  2. MonoBehaviour 与纯 C# 类:需要 Inspector 序列化、Unity 回调、Transform/GameObject、协程或作为组件时用 MonoBehaviour;纯逻辑(状态机、寻路、伤害计算、存档 DTO)用普通 C# 类,由 MonoBehaviour 持有驱动。纯 C# 类不能用 [SerializeField],可用 [System.Serializable]。
  3. 组件组合与继承:默认用接口加组合,消费方通过 GetComponent<IDamageable>() 查询;仅当存在真正 IS-A 且共享状态与实现时才用抽象基类。深层继承是主要反模式。
  4. 事件架构:类内或同 GameObject 紧耦合用 C# 事件;跨场景、需策划可视化连线用 ScriptableObject 事件通道;项目级纯代码事件用静态事件总线。订阅后须在 OnDisable 取消订阅,事件用 struct 避免分配。
  5. 管理器启动:生产项目可用专用 Boot 场景先创建管理器再加载玩法场景;插件或任意场景入口可用 RuntimeInitializeOnLoadMethod(BeforeSceneLoad)。该方法为静态同步,不能 await,异步初始化需交给 MonoBehaviour 的 Start。

限制:资料未提供安装命令、收费、平台与效果信息。反模式清单包括 God MonoBehaviour、滥用单例、Update 中 FindObjectOfType、管理器套管理器、系统间直接交叉引用、无域重载重置的静态状态。