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