38 lines
1.0 KiB
Markdown
38 lines
1.0 KiB
Markdown
|
|
# ScriptEngine::TryGetAvailableScriptClasses
|
||
|
|
|
||
|
|
**命名空间**: `XCEngine::Scripting`
|
||
|
|
|
||
|
|
**类型**: `method`
|
||
|
|
|
||
|
|
**头文件**: `XCEngine/Scripting/ScriptEngine.h`
|
||
|
|
|
||
|
|
## 签名
|
||
|
|
|
||
|
|
```cpp
|
||
|
|
bool TryGetAvailableScriptClasses(
|
||
|
|
std::vector<ScriptClassDescriptor>& outClasses,
|
||
|
|
const std::string& assemblyName = std::string()) const;
|
||
|
|
```
|
||
|
|
|
||
|
|
## 作用
|
||
|
|
|
||
|
|
返回当前运行时可绑定的脚本类列表,并可按程序集过滤。
|
||
|
|
|
||
|
|
## 当前实现流程
|
||
|
|
|
||
|
|
1. 清空 `outClasses`。
|
||
|
|
2. 调用运行时 `TryGetAvailableScriptClasses()`。
|
||
|
|
3. 若传入了 `assemblyName`,只保留匹配该程序集的类。
|
||
|
|
4. 过滤掉 `className` 为空的无效描述。
|
||
|
|
5. 按 `assemblyName -> namespaceName -> className` 排序。
|
||
|
|
|
||
|
|
## 返回值语义
|
||
|
|
|
||
|
|
- 返回 `true`:运行时支持类发现,排序/过滤后的结果可用。
|
||
|
|
- 返回 `false`:运行时不支持或当前不能返回类列表。
|
||
|
|
|
||
|
|
## 相关文档
|
||
|
|
|
||
|
|
- [ScriptEngine](ScriptEngine.md)
|
||
|
|
- [IScriptRuntime::TryGetAvailableScriptClasses](../IScriptRuntime/TryGetAvailableScriptClasses.md)
|