SceneModuleConfigSO¶
- 种类:
class - 命名空间:
Runestone.AesirModules - 程序集:
Runestone.AesirModules
继承链: System.Object → UnityEngine.Object → UnityEngine.ScriptableObject → Sirenix.OdinInspector.SerializedScriptableObject → Runestone.AesirArchitecture.AesirScriptableObject → SceneModuleConfigSO
实现接口: UnityEngine.ISerializationCallbackReceiver
声明¶
public class SceneModuleConfigSO : Runestone.AesirArchitecture.AesirScriptableObject,
UnityEngine.ISerializationCallbackReceiver
场景模块全局配置(单例资产)。承载无需预放置 [SceneModule] 即可调整的模块级配置: 在 Project 窗口直接编辑本资产即可生效,不再要求预放置 SceneModule 物体。
备注
单例 Instance 的解析顺序: RegisterConfigLoader 注册的加载器——注册后 Resources 兜底不再执行, 用于彻底放弃 Resources 的项目(如 Addressables 或代码内构造配置); Resources 兜底(ResourcePath,编辑器在编辑模式域加载时自动创建该资产, 见编辑器程序集 SceneModuleConfigAssetInitializer); 内存默认实例——前两级均未命中时以代码默认值创建,仅存在于内存、不持久化。 加载进度上限(progressCap)在每次加载时读取,运行时修改本资产对后续加载立即生效。
构造方法¶
| 名称 | 描述 |
|---|---|
SceneModuleConfigSO() |
— |
SceneModuleConfigSO()¶
字段¶
| 名称 | 描述 |
|---|---|
ResourcePath |
Resources 兜底路径(相对任意 Resources 根,不含扩展名)。资产固定位于 Assets/Resources/SceneModuleConfig/SceneModuleConfig.asset。 |
ResourcePath¶
Resources 兜底路径(相对任意 Resources 根,不含扩展名)。资产固定位于 Assets/Resources/SceneModuleConfig/SceneModuleConfig.asset。
属性¶
声明的属性
| 名称 | 描述 |
|---|---|
Instance |
全局单例。按类 remarks 声明的顺序解析并缓存;缓存失效(资产被销毁的 Unity 假 null)时自动重新解析。 |
继承的属性
| 名称 | 描述 | 声明类型 |
|---|---|---|
hideFlags |
— | Object |
name |
— | Object |
Instance¶
全局单例。按类 remarks 声明的顺序解析并缓存;缓存失效(资产被销毁的 Unity 假 null)时自动重新解析。
方法¶
声明的方法
| 名称 | 描述 |
|---|---|
CreateDefault() |
— |
RegisterConfigLoader(Func<SceneModuleConfigSO>) |
注册配置加载器,替代 Resources 兜底(注册后 Instance 只经加载器解析)。 须在首次消费配置(场景加载或读取 BootstrapSceneAssetWrapper)之前调用, 例如 [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)] 或首个场景的引导脚本中。 |
UnregisterConfigLoader() |
注销配置加载器(幂等)。注销后 Instance 重新按 Resources 兜底解析, 已按加载器路径缓存的实例一并失效。 |
继承的方法
| 名称 | 描述 | 声明类型 |
|---|---|---|
GetType() |
— | object |
GetInstanceID() |
— | Object |
Equals(object) |
— | Object |
GetHashCode() |
— | Object |
ToString() |
— | Object |
MemberwiseClone() |
— | object |
Finalize() |
— | object |
OnAfterDeserialize() |
— | SerializedScriptableObject |
OnBeforeSerialize() |
— | SerializedScriptableObject |
SetDirty() |
— | ScriptableObject |
CreateDefault()¶
返回值
| 类型 | 说明 |
|---|---|
SceneModuleConfigSO |
— |
RegisterConfigLoader(Func)¶
注册配置加载器,替代 Resources 兜底(注册后 Instance 只经加载器解析)。 须在首次消费配置(场景加载或读取 BootstrapSceneAssetWrapper)之前调用, 例如 [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)] 或首个场景的引导脚本中。
参数
| 名称 | 类型 | 说明 |
|---|---|---|
loader |
Func<SceneModuleConfigSO> |
同步加载器;返回 null 时按内存默认配置兜底。 |
UnregisterConfigLoader()¶
注销配置加载器(幂等)。注销后 Instance 重新按 Resources 兜底解析, 已按加载器路径缓存的实例一并失效。
Additional Notes¶
首个
## Additional Notes是增量生成文档标识符,请勿修改标题级别和内容!本文档由Script Doc Generator辅助生成。