Skip to content

GameUI.Debug ​

DebugOverlay 仅客户端 ​

命名空间 GameUI.Debug

csharp
public static class DebugOverlay

属性 ​

UnitLayers 仅客户端 ​

csharp
public static UnitDebugLayers UnitLayers { get; set; }

本局托管单位的调试层,使用实际 Cache、足印和模型。仅显示当前玩家场景中已同步的单位。

方法 ​

SetMode 仅客户端 ​

csharp
public static bool SetMode(DebugOverlayMode mode)

DebugOverlayMode 仅客户端 ​

命名空间 GameUI.Debug

csharp
public enum DebugOverlayMode

枚举值 ​

  • Off = 0
  • Nav3DMesh = 1
  • Nav3DVoxels = 2
  • LightmapDensity = 10
  • LodView = 11
  • OccludingCamera = 12
  • PhysicsWorld = 20
  • MotorProbe = 30

RuntimeDebugToolDescriptor 仅客户端 ​

命名空间 GameUI.Debug

csharp
public sealed class RuntimeDebugToolDescriptor

Runtime MCP 调试工具描述,供 debug.list_tools 和本地工具注册表查询使用。

属性 ​

Name 仅客户端 ​

csharp
public string Name { get; }

Runtime 工具名,例如 debug.ping、ui.snapshot 或 material.probe。

Description 仅客户端 ​

csharp
public string Description { get; }

工具用途说明。

InputSchema 仅客户端 ​

csharp
public JsonObject InputSchema { get; }

工具输入参数 JSON Schema。

RuntimeDebugToolException 仅客户端 ​

命名空间 GameUI.Debug

csharp
public sealed class RuntimeDebugToolException : Exception

Runtime MCP 工具主动返回的结构化错误。

备注

抛出该异常会把 ErrorCode 和异常消息原样转成 Runtime MCP 错误响应, 比普通异常更适合表达可预期的调试状态,例如 material_not_found。

构造函数 ​

RuntimeDebugToolException 仅客户端 ​

csharp
public RuntimeDebugToolException(string errorCode, string message)

属性 ​

ErrorCode 仅客户端 ​

csharp
public string ErrorCode { get; }

面向 AI 助手或调试脚本的稳定错误码。

RuntimeDebugToolHandler 仅客户端 ​

命名空间 GameUI.Debug

csharp
public delegate RuntimeDebugToolHandler

Runtime MCP 调试工具处理函数。

  • arguments — 调用方传入的 JSON 参数对象;没有参数时为 null。

返回: 工具返回的 JSON 结果;返回 null 时会被包装为空对象。

RuntimeDebugToolRegistry 仅客户端 ​

命名空间 GameUI.Debug

csharp
public static class RuntimeDebugToolRegistry

客户端调试期 Runtime MCP 工具注册表。

备注

该能力只在编辑器调试或纯客户端调试模式下启用。内置工具包括 debug.ping、debug.capture_screenshot、ui.snapshot、 ui.click、input.pointer、input.key、scenegraph.materials、 material.probe 和 motor.snapshot。项目可以在 #if CLIENT 调试代码中注册自己的只读诊断工具。

方法 ​

Initialize 仅客户端 ​

csharp
public static bool Initialize()

初始化 Runtime MCP 工具注册表并注册内置工具。

返回: 当前运行环境允许 Runtime MCP 时返回 true;否则返回 false。

Register 仅客户端 ​

csharp
public static bool Register(string name, RuntimeDebugToolHandler handler)

注册一个自定义 Runtime MCP 调试工具。

  • name — 工具名,建议使用 project.xxx 这类带命名空间的形式。
  • handler — 工具处理函数。

返回: 注册成功时返回 true;当前不是调试运行环境时返回 false。

Register 仅客户端 ​

csharp
public static bool Register(string name, string description, JsonObject? inputSchema, RuntimeDebugToolHandler handler)

注册一个带描述和输入 schema 的自定义 Runtime MCP 调试工具。

  • name — 工具名,建议使用 project.xxx 这类带命名空间的形式。
  • description — 工具用途说明,会出现在 debug.list_tools 返回值中。
  • inputSchema — 工具输入参数 JSON Schema;传 null 时使用空对象 schema。
  • handler — 工具处理函数。

返回: 注册成功时返回 true;当前不是调试运行环境时返回 false。

ListTools 仅客户端 ​

csharp
public static IReadOnlyList<RuntimeDebugToolDescriptor> ListTools()

列出当前客户端已注册的 Runtime MCP 工具。

CallTool 仅客户端 ​

csharp
public static JsonNode? CallTool(string name, JsonObject? arguments)

在当前客户端进程内直接调用一个 Runtime MCP 工具。

  • name — 工具名。
  • arguments — 工具参数。

返回: 工具返回的 JSON 结果。

UnitDebugLayers 仅客户端 ​

命名空间 GameUI.Debug

csharp
public enum UnitDebugLayers

枚举值 ​

  • None = 0
  • AttackableRadius = 1
  • CollisionRadius = 2
  • ModelBounds = 4
  • FootprintCells = 8