Files
XCEngine/docs/api/XCEngine/Editor/Scripting/Scripting.md

44 lines
1.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Scripting
**命名空间**: `XCEngine::Editor::Scripting`
**类型**: `submodule`
**描述**: 编辑器侧脚本程序集构建与脚本运行时状态子模块,负责项目 C# 程序集重建和相关状态反馈。
## 概述
`editor/src/Scripting` 当前不是游戏运行时脚本系统本身,而是 Editor 为脚本工作流补的那一层工具能力。
它主要回答两类问题:
- 当前脚本后端和程序集是否可用
- 项目 `Assets/**/*.cs` 如何重建成 `Library/ScriptAssemblies/*.dll`
## 当前链路
1. [EditorScriptAssemblyBuilder](EditorScriptAssemblyBuilder/EditorScriptAssemblyBuilder.md)
负责真正调用 `dotnet + csc.dll` 生成 `XCEngine.ScriptCore.dll``GameScripts.dll`
2. [EditorScriptAssemblyBuilderUtils](EditorScriptAssemblyBuilderUtils/EditorScriptAssemblyBuilderUtils.md)
负责收集源码、解析 SDK 版本和兜底生成空脚本占位文件
3. [EditorScriptRuntimeStatus](EditorScriptRuntimeStatus/EditorScriptRuntimeStatus.md)
负责把“后端启用、程序集是否找到、运行时是否已加载、当前提示文本”等状态传给 UI
## 真实调用关系
- `Application.cpp` 在切项目和重载脚本运行时时更新 `EditorScriptRuntimeStatus`
- `Application.cpp` 也会通过 `EditorScriptAssemblyBuilder` 触发脚本程序集重建
- `ScriptComponentEditor``ScriptComponentEditorUtils` 会读取 runtime status决定显示 `Rebuild Scripts` / `Reload Scripts` 按钮和提示文案
## 当前实现边界
- 这组代码明显面向 Windows 桌面开发环境,依赖 `dotnet.exe` 和本机参考程序集路径。
- 它只管 Editor 侧程序集构建与状态反馈,不直接承载运行时脚本执行。
## 相关文档
- [Editor](../Editor.md)
- [Application](../Application/Application.md)
- [ScriptComponentEditor](../ComponentEditors/ScriptComponentEditor/ScriptComponentEditor.md)
- [Scripting](../../Scripting/Scripting.md)