用途:指导 Godot AutoLoad(单例)架构设计,包括全局状态管理、场景切换、基于信号的通信、依赖注入、AutoLoad 初始化顺序,以及需要避开的反模式。适用对象为游戏管理器、存档系统、音频控制器或跨场景资源。
主要能力与做法:提供多份脚本参考,如 autoload_init_order_diag.gd(启动顺序验证)、singleton_dependency_diagram.gd(依赖图)、global_event_bus.gd(跨系统事件总线)、safe_scene_switcher.gd(延迟释放与根节点托管的安全切场景)、service_locator.gd / service_registry.gd(非 Node 服务的依赖注入)、persistent_data_holder.gd(跨场景存活数据)、static_state_manager.gd、lazy_loaded_singleton.gd、thread_safe_global_access.gd、health check 与调试控制台等。
必要用法:AutoLoad 在项目设置中自上而下初始化,上层单例不应在 _ready() 中调用下层;跨系统事件用总线,可变运行状态放在持有者而非总线上;非 Node 服务用 Engine.register_singleton 并在 _exit_tree 注销;切场景采用延迟释放与根节点托管;调试/CI 中做单例健康检查。
限制与禁止项:不得在 _init() 访问 AutoLoad;不得在 _ready() 修改单例大小或子节点;不得在 AutoLoad 存放高度场景局部数据;不得从 AutoLoad 调用 Parent.method();不得用 AutoLoad 做纯数据容器;不得在单例间制造循环依赖;不得手动释放 AutoLoad 节点;不得把非全局 UI 放进单例;不得假设 _ready() 中 get_tree().current_scene 准确;不得忽略 process_mode 配置。具体项目设置与收费等信息暂未提供。