跳转至

Scripting API

本参考由 Script Doc Generator 基于 C# 反射离线生成,重新生成时自动保留各页面 ## Additional Notes 之后的手写补充。页面按字母序排列;使用左侧目录或站内搜索定位类型。

Runestone.AesirModules

命名空间 Runestone.AesirModules · 程序集 Runestone.AesirModules、Runestone.AesirModules.Editor.OdinInspector、Runestone.AesirModules.OdinInspector、Runestone.AesirModules.UniTask · 共 65 个类型。

类

名称 描述
AddressablesSupportDisabledException 当前项目未安装 Addressables 包时访问了 Addressables 相关 API。
AesirBasePanel UI 面板基类。子类覆写生命周期虚方法,通过 Context 访问 Model/Service。
AesirBasePanelView<T> 面板视图基类(MVP 模式的 View 层)。 泛型参数 T 指定面板关联的 Context 类型, Context 作为 Model 和 Service 的聚合容器,在面板与…
AesirBasePanelViewController<T> 面板视图控制器基类(MVC 模式的 Controller 层,兼 View 职责)。 泛型参数 T 指定面板关联的 Context 类型, Context 作为 Model 和…
AesirBaseWindow Canvas 根 UI 窗口基类。窗口预制体根节点自带 Canvas(独立渲染根), 由 UIModule 实例化后直接挂载到 UIRoot 下,按 SortingOrder …
AesirBaseWindowView<T> 窗口视图基类(MVP 模式的 View 层,Canvas 根窗口形态)。 泛型参数 T 指定窗口关联的 Context 类型, Context 作为 Model 和 Servi…
AesirBaseWindowViewController<T> 窗口视图控制器基类(MVC 模式的 Controller 层兼 View 职责,Canvas 根窗口形态)。 泛型参数 T 指定窗口关联的 Context 类型, Contex…
AesirEventArgs 事件参数基类。所有自定义事件参数继承此类,作为事件数据载体在 EventModule 中传递。 注意:AesirEventArgs 本身不持有监听者,仅作为参数实例。 订阅管理…
AesirEventArgsSO AesirEventArgs 的 ScriptableObject 包装,让事件可保存为 .asset 资源, 在 Inspector 中配置载荷并由非程序员触发。 通过 Pr…
AesirEventUtility 事件模块静态工具方法。
AesirListenerAttribute 事件订阅者特性。标记在方法上,表示该方法监听指定类型的 AesirEventArgs。 用法示例: [AesirListener] private void OnKeyPres…
AesirModules Aesir Modules 接入 MonoBehaviour 生命周期的持久化物体对象。
AesirModulesDebug —
AudioConfigSO 音频模块配置资产。创建路径:Assets → Create → Aesir Modules → Audio → AudioConfig。 配置默认音量、音量持久化开关与 Pla…
AudioModule 音频管理器(MonoBehaviour 单例)—— 2D 音频极简门面。 负责 SFX 轮询播放、BGM 循环与淡入淡出、三通道音量/静音控制与持久化。 公开 API 全部为静…
BinderAssistant Object Binder 核心组件。挂载在根 UI 物体(面板或 Canvas 根窗口)上,统一配置所有要绑定的子组件并一键生成绑定脚本。 工作流程: 1. 在需要绑定引用的…
BinderBaseTypeAttribute 标记一个 MonoBehaviour 派生类可作为 Binder 生成脚本的基类(用户自定义基类的扩展入口)。 Aesir 面板家族(AesirBasePanel、AesirB…
BinderCodeGenerator Binder 代码生成器。只做纯文本拼装与校验,不接触 Unity 对象, 由 BinderAssistant 收集场景数据后调用,便于单元测试。
BinderEditorSettings Binder 编辑器持久化设置(ScriptableSingleton):保存 partial 分部类模式的可选文件后缀列表、 默认后缀与最近使用的命名空间,供新建 Binde…
BinderHierarchyUtility 场景层级路径工具类,用于 Object Binder 计算物体在层级中的路径。 提供绝对路径和相对路径两种计算方式: - 绝对路径:从场景根物体到目标的完整路径,用于 Bind…
BinderInfo 绑定单元数据。描述一条要绑定到生成脚本字段的组件引用信息。 在 BinderAssistant 的「绑定单元列表」中以表格形式配置, 由「构建绑定单元」按子物体上的 Binde…
BinderMenuItems Binder 层级右键菜单快捷入口: 为选中物体快速挂载 BinderAssistant 与 BinderTag, 免去 Add Component 菜单的层层查找。
BinderTag Binder 标签组件。挂载在需要自动绑定引用的子物体上,标记该物体可被 BinderAssistant 扫描并生成绑定信息。 一个物体上可绑定多个不同类型的组件,通过 Com…
BindingInfo 绑定信息基类。Attribute 订阅与 Script 订阅的共同部分。
DynamicBindingInfo<TEventArgs> Script 订阅绑定信息。通过 Action{T} 委托直接调用,无需表达式树。
EmptySceneAssetWrapperException 访问了未分配任何场景的 SceneAssetWrapper。
EventModule 事件模块(MonoBehaviour 单例)。 通过 [AesirListener] 特性实现 Attribute 订阅,通过 AddListener{TEventArgs}(…
ExcludeSubclassSelectorAttribute 排除特性。标记不想出现在 SubclassSelectorAttribute 下拉中的类型 (如抽象中间层、仅供程序内部使用的事件参数)。
InsideCollider2D 仅投递给位于发布者 Collider2D 范围内的订阅者。用于空间局域广播(如爆炸半径), 订阅者位置取其 Transform.position。发布者挂多个 Collider…
OnlySelf 仅投递给发布者自身、其子树或其父级链上的订阅者。用于"只影响自己和亲属"的局域事件 (如组件通知所在层级,不波及场景中其他对象)。
ResourcesUILoader 默认加载器:从 Resources 路径加载面板预制体。
SameSceneAsEmitter 仅投递给与发布者同场景的订阅者。适配多场景叠加加载工作流, 防止持久场景中的订阅者收到临时场景的局域事件。
SceneAssetWrapper 可序列化的场景引用,支持在编辑器中拖拽 SceneAsset 赋值,等价于 Eflatun.SceneReference(SceneReference 类型)+ Odin In…
SceneAssetWrapperAddressablesBridge Addressables 编辑器能力的静态桥。 核心程序集不引用任何 Addressables 程序集;由可选程序集 Runestone.AesirModules.Editor…
SceneAssetWrapperCreationException 通过工厂或构造方法创建 SceneAssetWrapper 时入参无效。
SceneAssetWrapperException 所有 SceneAssetWrapper 相关异常的基类,便于调用方统一捕获。
SceneModule 场景加载与叠加管理模块(MonoBehaviour 单例)—— 公开 API 全部为静态成员,经 Instance 单例转发。 语义对齐 Unity 原生 LoadSceneM…
SceneModuleConfigSO 场景模块全局配置(单例资产)。承载无需预放置 [SceneModule] 即可调整的模块级配置: 在 Project 窗口直接编辑本资产即可生效,不再要求预放置 SceneMo…
SceneModuleUniTask SceneModule 的 UniTask 适配 API——游戏工程包含 UniTask 时(宏 AESIR_MODULES_UNITASK 自动维护), 提供可 await …
SceneNotAddressableException 对非 Addressable 场景的 SceneAssetWrapper 访问了 Address。
StaticBindingInfo Attribute 订阅绑定信息。 在注册时(冷路径)通过表达式树将 MethodInfo 编译为 Action(object target, object[] args)委托…
SubclassSelectorAttribute 标记 [SerializeReference] 字段在 Inspector 中使用子类下拉选择器。 点击下拉按钮弹出字段声明类型的全部可选子类(按命名空间分组), 选择后自动创…
UICanvasConfigSO UI Canvas 配置资产。创建路径:Assets → Create → Aesir Modules → UI → Default UICanvasConfig。
UIModule UI 管理器(MonoBehaviour 单例)。 负责面板生命周期管理,UI 根节点构建委托给 UIRoot。
UIModuleConfigSO UI 模块全局配置(单例资产)。承载无需预放置 [UIModule] 即可调整的模块级配置: 在 Project 窗口直接编辑本资产即可生效,不再要求预放置 UIModule …
UIRoot UI 根节点组件。 负责创建 UICamera、EventSystem、分层 Canvas 以及应用 Canvas 统一配置。
UnityEventOnAesirEvent UnityEvent 桥接组件。监听指定类型的 AesirEventArgs, 事件触发时调用 Inspector 中配置的 UnityEvent 回调, 供非程序员在 Ins…
WithPriority 按优先级档位过滤。仅绑定在指定档位的订阅者收到事件, 用于"同一事件类型只通知某一档"的定向分发。
WithTag 按 Unity Tag 过滤订阅者。仅 Tag 匹配的订阅者收到事件。 用法:new OnExplosion().WithFilter(new WithTag("Enemy")…

结构体

名称 描述
AudioChannel 音频通道描述符(不可变值对象)。音量/静音的存取、PlayerPrefs 持久化与配置默认值载入 均以通道列表(Channels)为唯一数据源遍历。
BinderCodeGenerator.BindUnit 单个绑定单元在代码生成阶段的只读描述。 HierarchyPath 为空字符串表示绑定 BinderAssistant 所在物体自身, 生成代码将直接调用 GetCompone…
BinderCodeGenerator.CodeGenConfig 一次代码生成的完整配置。
UIRoot.LayerCanvasEntry 层级 Canvas 的序列化引用条目。Unity 无法序列化字典,改以列表存储(条目数恒等于层数,运行时线性查找即可)。

接口

名称 描述
IComponentBinder 绑定引用接口。由 BinderAssistant 生成的脚本实现,用于自动绑定场景中的组件引用。 生成脚本在「绑定字段(自动生成)」region 之后实现 BindCompon…
ISubscriberFilter 订阅者过滤器策略接口。发布者通过 WithFilter 声明过滤器, EventModule 分发时对每个订阅者逐个检查,全部过滤器通过才投递。 约定:过滤器无法解析对象(如发…
IUIAssetLoader 面板加载器契约。加载语义为同步:适用于 Resources、同步缓存等管线; Addressables 等异步管线需自行预加载后同步返回,无法在接口内表达等待。
IUIPanel UI 面板契约。生命周期:Initialize → Show → Hide → DestroyPanel。
IUIWindow Canvas 根 UI 窗口契约。生命周期:Initialize → Show → Hide → DestroyWindow,与 IUIPanel 平行。 窗口预制体根节点自带…

枚举

名称 描述
AesirModulesDebug.Tags —
BinderScriptMode Binder 脚本生成模式。
SceneAssetWrapperState SceneAssetWrapper 的可用状态。 Unsafe:引用不安全(空引用,或场景既不在 BuildSettings 也不可 Addressable) Regular:…
SceneAssetWrapperUnsafeReason 描述 SceneAssetWrapper 不安全的具体原因。
SubscriberPriority 事件订阅者优先级。4 档排序:First → High → Medium → Last。 High 为 Attribute 订阅([AesirListener])默认值,Med…
UILayer UI 层级。Background < Normal < Popup < Top。
UIMaskMode 窗口蒙版调度模式,初始值配置于 UIModuleConfigSO(Resources 兜底资产, 编辑器自动创建),运行时可经 MaskMode 切换。

Runestone.AesirModules.Editor

命名空间 Runestone.AesirModules.Editor · 程序集 Runestone.AesirModules.Editor、Runestone.AesirModules.Editor.OdinInspector · 共 12 个类型。

类

名称 描述
AesirEventArgsSOEditor AesirEventArgsSO 自定义 Inspector: 运行模式(Play Mode)限定的事件触发按钮 + 事件参数配置字段。
AesirSingletonAssetInitializer 模块配置资产(单例 ScriptableObject)的自动创建共用实现。
AesirUniTaskDefineKeeper 自动维护 AESIR_MODULES_UNITASK 脚本宏定义符号——SceneModule 的 UniTask 驱动分支与 UniTask 适配程序集(Runestone.…
AudioModuleMenuItems 音频模块编辑器菜单项。提供在场景中预放置 AudioModule 的快捷入口。
BootstrapSceneHelper 启动场景帮助类,自动查找项目中的启动场景,并将其设置为第一个加载的场景
SceneEditorSettings Scene 模块编辑器设置(ScriptableSingleton):Bootstrapper 场景搜集注册与启动流转的编辑器侧开关。
SceneModuleConfigAssetInitializer 确保场景模块配置资产存在:编辑模式域加载后,Resources 兜底路径缺失且项目中无同类型资产时, 自动创建 SceneModuleConfigSO 至 Assets/Res…
SceneModuleSettingsWindow Scene 模块设置窗口(原生 IMGUI 兜底):展示并编辑 SceneEditorSettings 单例。
SceneModuleSettingsWindowOdin Scene 模块设置窗口(Odin 版):InlineEditor 展示 SceneEditorSettings 单例。
SubclassSelectorDrawer SubclassSelectorAttribute 的 UI Toolkit 属性绘制器。 为 [SerializeReference] 字段提供子类下拉选择: 点击按钮弹出字…
UIModuleConfigAssetInitializer 确保 UI 模块配置资产存在:编辑模式域加载后,Resources 兜底路径缺失且项目中无同类型资产时, 自动创建 UIModuleConfigSO 至 Assets/Reso…
UIModuleMenuItems UI 模块编辑器菜单项。提供快捷创建 UIRoot 和默认 Canvas 配置资产的入口。

Runestone.AesirModules.Editor.Bootstrap

命名空间 Runestone.AesirModules.Editor.Bootstrap · 程序集 Runestone.AesirModules.Editor.Bootstrap · 共 2 个类型。

类

名称 描述
AesirDependencyInstaller Aesir Modules 依赖补全器 —— 检测 Aesir Architecture (RAA) 缺失并经 Git URL 引导安装。
AesirDependencyInstaller.PackageManifest 包 package.json 的最小解析模型(JsonUtility 忽略未声明字段)。

Runestone.AesirModules.Editor.OdinInspector

命名空间 Runestone.AesirModules.Editor.OdinInspector · 程序集 Runestone.AesirModules.Editor.OdinInspector · 共 7 个类型。

类

名称 描述
AesirBasePanelAttributeProcessor 为 AesirBasePanel 提供 Odin Inspector 属性处理器, 动态注入 Inspector 显示特性,使 Runtime 程序集零 Odin 依赖。
AesirModulesAttributeProcessor 为 AesirModules 提供 Odin Inspector 属性处理器, 动态注入 DDOL 开关的说明与警告信息框,使 Runtime 程序集零 Odin 依赖。
AudioModuleAttributeProcessor 为 AudioModule 提供 Odin Inspector 属性处理器, 动态注入 DDOL 开关的说明信息框,使 Runtime 程序集零 Odin 依赖。
SceneAssetWrapperAttributeProcessor 为 SceneAssetWrapper 提供 Odin Inspector 属性处理器, 动态注入 Inspector 显示特性,使 Runtime 程序集零 Odin 依赖。…
UICanvasConfigSOAttributeProcessor 为 UICanvasConfigSO 提供 Odin Inspector 属性处理器, 动态注入 Odin 专属显示特性(分组、条件显示等),使 Runtime 程序集零 Od…
UIModuleAttributeProcessor 为 UIModule 提供 Odin Inspector 属性处理器, 动态注入 DDOL 开关的说明与警告信息框,使 Runtime 程序集零 Odin 依赖。
UIRootAttributeProcessor 为 UIRoot 提供 Odin Inspector 属性处理器, 动态注入 Inspector 显示特性,使 Runtime 程序集零 Odin 依赖。

Runestone.AesirModules.ScriptDocGenerator

命名空间 Runestone.AesirModules.ScriptDocGenerator · 程序集 Runestone.AesirModules.OdinInspector · 共 33 个类型。

类

名称 描述
AccessModifierTypeExtensions —
ConstructorData 构造方法解析数据
DefaultAnalysisDataFactory Aesir Modules 默认提供的解析数据工厂实现类
DefaultAttributeFilter 默认特性过滤器,构造函数中传入需要排除的 Attribute 类型
DerivedMemberDataComparer IDerivedMemberData 比较类
EventData 事件解析数据类,用于存储事件的解析数据
FieldData 字段解析数据类,用于存储字段的解析数据
MemberData 解析成员数据的基类
MethodData 方法解析数据类,用于存储 MethodInfo 的解析结果
NiceTypeName 类型名称格式化工具(生成文档使用的"好看名")。
ParameterData 参数信息解析数据
PropertyData 属性解析数据类,用于存储属性的解析数据
ReferenceLinkURLAttribute —
ReflectionUtility 反射工具类,提供程序集、命名空间及成员的反射操作方法
SourceFileEntry 源代码文件路径与内容的绑定容器。
SummaryAttribute 提供类似于 XML 文档 summary 部分的描述性元数据。
TypeAnalyzerStaticExtensions 类型分析器静态扩展类,统一管理类型分析器有关的静态扩展方法
TypeAnalyzerUtility 类型分析器工具类
TypeData 类型解析数据类,存储类型的各种成员的解析数据

接口

名称 描述
IAnalysisDataFactory 解析数据工厂接口,自定义扩展解析数据工厂
IAttributeFilter 特性过滤器接口,用于过滤掉不需要的特性
IConstructorData 构造方法数据接口,继承自 IDerivedMemberData
IDerivedMemberData 派生成员数据接口,不同的派生类有不同的表现形式,MemberData 无法直接准确获取的信息,需要派生类自己实现
IEventData 事件数据接口,继承自 IDerivedMemberData
IFieldData 字段数据接口,继承自 IDerivedMemberData
IMemberData 成员数据接口
IMethodData 方法数据接口,继承自 IDerivedMemberData
IParameterData 参数信息解析数据接口
IPropertyData 属性数据接口,继承自 IDerivedMemberData,包含属性特有的数据信息和方法,派生类的通用数据信息和方法
ITypeData 类型解析数据接口,继承自 IDerivedMemberData 接口

枚举

名称 描述
AccessModifierType —
ParameterDirection 参数方向枚举
TypeCategory 类型种类枚举

Runestone.AesirModules.ScriptDocGenerator.Editor

命名空间 Runestone.AesirModules.ScriptDocGenerator.Editor · 程序集 Runestone.AesirModules.Editor.OdinInspector · 共 34 个类型。

类

名称 描述
DefaultScriptingAPISettingsSO 默认中文 API 文档生成设置
DocGeneratorSettingsSO 文档生成器设置抽象类
MemberGrouper 成员分组引擎:Default 与 Zensical 两生成器共享的分组核心—— API 成员过滤 → 按选择器分组 → 按固定顺序(常量 → 声明 → 继承 → 运算符)输出非…
ParsedSourceDoc 单个源文件(或合并后的类型级视图)的结构化 XML 文档注释解析结果。 键为全限定键(无程序集前缀,合并时按需添加): 类型级 Namespace.TypeName;成员级 N…
ProjectScriptIndex 项目级类型声明索引:类型名 → 声明所在文件路径列表,附带 文件 → 命名空间集合。 惰性构建,每个域重载周期至多一次全项目扫描(历史实现按"每个找不到源文件的类型" 全项目扫…
ScriptAssemblyFilter 脚本程序集过滤器。通过 CompilationPipeline 缓存本项目的脚本程序集名集合, 用于在查找源文件前拦截引擎模块、预编译 DLL 等不可能存在项目源码的类型, 避…
ScriptDocGenerationResult 一次脚本文档生成调用的结果:写入的文档文件清单、使用的设置与输出根目录, 以及未能映射到编译产物的源码类型名(文件夹模式)。
ScriptDocGeneratorAPI 脚本文档生成器静态 API —— 面板(Tools → Aesir → Modules → Script Doc Generator)的无 UI 等价入口, 面向自动化脚本与 …
ScriptDocGeneratorAssetMarkerSO Script Doc Generator 模块资产初始化完成标识。首次初始化后创建标识资产, 后续打开工具时通过检查标识是否存在来判断是否已完成初始化。
ScriptDocGeneratorEditorUtility Script Doc Generator 的编辑器工具方法,仅供编辑器程序集内部使用。
ScriptDocGeneratorMenuItems —
ScriptDocGeneratorMenuPaths Script Doc Generator 所有 MenuItem 菜单路径和优先级的统一管理。 Unity 中 MenuItem 的顺序由 priority 参数(一个整数)决…
ScriptDocGeneratorPanelSO ScriptDocGenerator 可视化操作面板类
ScriptDocGeneratorPanelSO.ScriptDocGeneratorPanelAttributeProcessor —
ScriptDocGeneratorPaths —
ScriptDocGeneratorUtility 脚本文档生成器逻辑控制类,负责处理文档生成的核心逻辑
ScriptDocGeneratorWindow 脚本文档生成器窗口,直接展示 ScriptDocGeneratorSO 单面板。
SourceFileAnalyzerUtility 源文件查找与成员名提取工具。 查找链路:ScriptAssemblyFilter 程序集过滤 → AssetDatabase 按名搜索 + GetClass() 验证(单遍,p…
SourceScanner 单遍字符级状态机源码扫描器: 第一遍净化——字符串(普通/逐字)、字符字面量、行注释、块注释内容置空,产出净化行, 使后续正则天然免疫字符串/注释里的假类型声明、假命名空间与假…
SourceScanner.Frame —
SourceScanner.SanitizerState —
SourceScanner.SourceDocText —
SourceSummaryInitializer 在编辑器程序集(Runestone.AesirModules.ScriptDocGenerator.Editor)加载时注入 XML 文档注释解析器: summary / pa…
SourceSummaryParser 源码 XML 文档注释解析门面。实际解析由 SourceScanner 单遍状态机完成: 字符串/逐字字符串/注释感知净化 + 命名空间栈 + 类型栈,支持全限定键(含嵌套类型…
SummaryToolMenuItems 右键快捷处理 Summary 特性。批量处理多选脚本时仅触发一次 AssetDatabase.Refresh。
TypeDataProcessor —
TypesCacheSO 存储 Type 的资源文件,提供给脚本文档生成工具复用,用户无需每次重新选择 Type
XmlCodePart XML 注释部分和代码块的组合。
XmlSummaryTool C# 脚本的 XML 中的 Summary 注释的处理器。 内容对齐方向(Sync/Replace):[Summary] 特性优先——已有可解析特性时以特性文本为准(必要时回写…
ZensicalScriptingAPISettingsSO Zensical 静态站点专用的 API 文档生成设置

枚举

名称 描述
MemberGroup 成员分组(文档生成共享):常量 → 声明 → 继承 → 运算符。
ScriptDocGeneratorPanelSO.TypeSource —
XmlCodePart.SummaryAttribution [Summary] 特性的归属分析结果。
XmlSummaryTool.ProcessMode —