打开UI界面事件工作类 (Event_OpenUI)

功能说明

Event_OpenUI 是一个事件工作类,它的主要功能是根据给定的名称打开一个用户界面(UI)。这使得您可以在游戏中的特定事件发生时,弹出预设的UI面板,例如:完成任务后打开奖励界面、点击NPC时显示对话框、或者触发特定条件时打开商店或背包界面。

该事件工作类通过 EventDef 中的 workClass 字段引用,其具体的行为由 parameter 字段中提供的 JSON 配置来控制。

可用参数

Event_OpenUI 通过解析 EventDefparameter 字段里的 JSON 配置来工作。此 JSON 配置对应一个内部的数据结构。

JSON参数名XML参数名 (N/A)类型默认值说明
uiNameN/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通常使用驼峰式命名)。
  • 示例:请参考上方的 EventDef 示例中 parameter 标签内的内容。
uiName 字段 (UI界面名称)
  • 说明:此字段是一个字符串,其值必须与游戏UI系统中实际注册的UI界面的唯一标识符(名称)精确匹配。如果提供了不正确的名称,系统将无法找到并打开对应的界面。
  • 命名约定uiName 的具体命名约定取决于游戏UI框架的实现。通常建议使用清晰、一致的名称,例如 MainMenuUIQuestLogPanelShopWindow 等。
  • 示例
    "uiName": "GameHelpDialog"