Files
XCEngine/docs/api/XCEngine/Scripting/IScriptRuntime/TryGetAvailableScriptClasses.md

38 lines
1.4 KiB
Markdown

# IScriptRuntime::TryGetAvailableScriptClasses
**命名空间**: `XCEngine::Scripting`
**类型**: `method`
**头文件**: `XCEngine/Scripting/IScriptRuntime.h`
## 签名
```cpp
virtual bool TryGetAvailableScriptClasses(
std::vector<ScriptClassDescriptor>& outClasses) const = 0;
```
## 作用
返回当前后端已经发现、可以绑定给 `ScriptComponent` 的脚本类描述列表。
## 返回值语义
- 返回 `true`:后端支持类发现,且当前返回的数据可用。
- 返回 `false`:后端未初始化、当前没有这项能力,或发现流程失败。
## 契约要求
- 实现应在调用前清空 `outClasses`
- 返回的应该是“可绑定类”,而不是后端里任意可见类型;例如抽象类、工具类或不满足脚本基类约束的类型,通常不应暴露给调用方。
- 描述里应尽量带上稳定的 `assemblyName`,因为上层会基于它做过滤和重绑定。
- 接口本身不强制排序,但提供稳定顺序是推荐行为;`ScriptEngine::TryGetAvailableScriptClasses()` 会在此基础上继续过滤空类名并排序。
## 相关文档
- [IScriptRuntime](IScriptRuntime.md)
- [ScriptEngine::TryGetAvailableScriptClasses](../ScriptEngine/TryGetAvailableScriptClasses.md)
- [NullScriptRuntime::TryGetAvailableScriptClasses](../NullScriptRuntime/TryGetAvailableScriptClasses.md)
- [MonoScriptRuntime::TryGetAvailableScriptClasses](../Mono/MonoScriptRuntime/TryGetAvailableScriptClasses.md)