docs(scripting): add baseline api reference and guide

This commit is contained in:
2026-03-28 15:10:54 +08:00
parent 14c7fd69ec
commit 359fe2adb3
104 changed files with 3377 additions and 27 deletions

View File

@@ -0,0 +1,45 @@
# Mono
**命名空间**: `XCEngine::Scripting`
**类型**: `submodule`
**描述**: 收纳基于 Mono 的托管脚本运行时实现。
## 概览
`docs/api/XCEngine/Scripting/Mono` 对应的是 `engine/include/XCEngine/Scripting/Mono` 子目录。它不是独立命名空间,而是脚本模块下按实现后端划分出的子目录。
当前这里的核心类型只有 [MonoScriptRuntime](MonoScriptRuntime/MonoScriptRuntime.md)。它负责:
- 初始化 Mono root domain 和 app domain。
- 加载脚本核心程序集与游戏程序集。
- 发现可用脚本类和公共实例字段。
-`ScriptComponent``GameObject` 与托管对象实例绑定起来。
- 在生命周期调用后把托管字段同步回本地存储。
## 为什么单独分目录
把 Mono 运行时放进独立子目录,而不是直接塞进 `Scripting` 根目录,有两个直接好处:
- 可以清楚区分“脚本系统公共契约”和“具体后端实现”。
- 以后如果接入别的脚本后端,这里天然就是平行扩展点。
## 当前实现边界
- 当前只实现了 Mono 后端,没有并列的 IL2CPP、Lua 或自研 VM 后端。
- 目录里只有一个 public header说明当前重点仍然是把单条托管脚本链路先跑顺。
- 内部调用注册已覆盖 `GameObject``Transform``Camera``Light``MeshFilter``MeshRenderer` 和基础日志/时间桥接,但远不是完整编辑器级 API 面。
## 头文件
- [MonoScriptRuntime](MonoScriptRuntime/MonoScriptRuntime.md) - `MonoScriptRuntime.h`
## 相关指南
- [Scripting Runtime And Field Model](../../../_guides/Scripting/Scripting-Runtime-And-Field-Model.md)
## 相关文档
- [Scripting](../Scripting.md)
- [IScriptRuntime](../IScriptRuntime/IScriptRuntime.md)