打开UI界面事件工作类 (Event_OpenUI)
功能说明
Event_OpenUI 是一个事件工作类,它的主要功能是根据给定的名称打开一个用户界面(UI)。这使得您可以在游戏中的特定事件发生时,弹出预设的UI面板,例如:完成任务后打开奖励界面、点击NPC时显示对话框、或者触发特定条件时打开商店或背包界面。
该事件工作类通过 EventDef 中的 workClass 字段引用,其具体的行为由 parameter 字段中提供的 JSON 配置来控制。
可用参数
Event_OpenUI 通过解析 EventDef 中 parameter 字段里的 JSON 配置来工作。此 JSON 配置对应一个内部的数据结构。
| JSON参数名 | XML参数名 (N/A) | 类型 | 默认值 | 说明 |
|---|---|---|---|---|
uiName | N/A | 字符串 | 无 | 必需。要打开的UI界面的内部名称。此名称应与游戏UI系统注册的某个界面名称精确匹配。 |
示例
以下是一个 EventDef 示例,展示了如何使用 Event_OpenUI 在事件触发时打开一个名为“PlayerInventoryUI”的玩家背包界面:
<Define>
<EventDef>
<defName>OpenPlayerInventoryEvent</defName>
<label>打开玩家背包</label>
<description>触发时打开玩家的背包界面。</description>
<workClass>Event_OpenUI</workClass>
<parameter>
{
"uiName": "PlayerInventoryUI" // 指定要打开的UI名称
}
</parameter>
</EventDef>
<EventDef>
<defName>OpenSettingsPanelEvent</defName>
<label>打开设置面板</label>
<description>触发时打开游戏的设置面板。</description>
<workClass>Event_OpenUI</workClass>
<parameter>
{
"uiName": "SettingsPanel" // 指定要打开的UI名称
}
</parameter>
</EventDef>
</Define>
复杂参数说明
parameter 字段 (JSON配置)
- 说明:
EventDef中的parameter字段是一个特别说明,它不使用标准的XML元素赋值方式,而是直接作为文本内容包含一个JSON格式的字符串。这个JSON字符串包含了Event_OpenUI的所有配置参数,用于指导其具体行为。您需要确保提供的JSON字符串是语法正确的。 - JSON属性与C#映射关系:
- 所有JSON属性名(如
uiName)与C#内部数据类中的对应属性名一致(JSON通常使用驼峰式命名)。
- 所有JSON属性名(如
- 示例:请参考上方的
EventDef示例中parameter标签内的内容。
uiName 字段 (UI界面名称)
- 说明:此字段是一个字符串,其值必须与游戏UI系统中实际注册的UI界面的唯一标识符(名称)精确匹配。如果提供了不正确的名称,系统将无法找到并打开对应的界面。
- 命名约定:
uiName的具体命名约定取决于游戏UI框架的实现。通常建议使用清晰、一致的名称,例如MainMenuUI、QuestLogPanel、ShopWindow等。 - 示例:
"uiName": "GameHelpDialog"