SuperAPI AI 工具集

unity-singleton-pattern

编程与开发

查看项目

更新于 10-16 01:29

技能介绍

用途:为 Unity 全局系统(如 GameManager、UIManager、InputManager)提供一套严格的单例实现,统一全局访问方式并控制实例生命周期。

主要能力:Singleton 为标准管理,出现新重复实例时销毁新实例、保留原实例;PersistentSingleton 在其基础上加入 Don't Destroy On Load(DDOL),用于跨场景保留状态;RegulatorSingleton 采用反向逻辑,销毁旧实例、保留最新实例,适合热切换;StaticInstance 提供轻量全局访问,但不强制去重。

核心文件:SingletonBase.cs.txt 提供经典与持久变体的泛型基类;SingletonRegulator.cs.txt 提供带时间戳的 regulator 逻辑;SingletonExample.cs.txt 给出 Game 与 UI 管理器的具体示例。

使用方式:标准管理器写法为 public class UIManager : Singleton<UIManager> { },通过 UIManager.Instance.Show(); 调用;持久管理器写法为 public class InventoryManager : PersistentSingleton<InventoryManager> { },可跨场景存活;Regulator 写法为 public class MusicSystem : RegulatorSingleton<MusicSystem> { },生成新实例会自动销毁旧实例。

适用场景:需要全局唯一入口的游戏管理、UI 管理、输入管理与跨场景状态管理。

限制与原则:应始终选择限制最强的变体;不需要跨场景持久时使用 Singleton<T>;只想要引用且不介意重复时使用 StaticInstance<T>。资料未提供安装命令、价格、平台支持与版本兼容信息。