# 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)