消息显示事件工作类 (Event_MessageWorkClass)
功能说明
Event_MessageWorkClass 是一个用于在游戏界面上显示文本消息的事件工作类。它提供灵活的配置选项,允许您定义消息的内容、显示类别(决定其在UI上的呈现方式)、文本颜色以及持续显示的时长。这使得开发者能够通过游戏事件轻松地向玩家传达提示、警告、剧情信息或任何其他文本内容。
该事件工作类通过 EventDef 中的 workClass 字段引用,其具体的行为由 parameter 字段中提供的 JSON 配置来控制。
可用参数
Event_MessageWorkClass 通过解析 EventDef 中 parameter 字段里的 JSON 配置来工作。此 JSON 配置对应 MessageData。
| JSON参数名 | XML参数名 (N/A) | 类型 | 默认值 | 说明 |
|---|---|---|---|---|
message | N/A | 字符串 | 无 | 必需。要显示的消息文本内容。 |
type | N/A | PromptDisplayCategory | 无 | 必需。消息的显示类别,决定了消息在UI中的呈现方式。请参见下方的 PromptDisplayCategory 枚举说明。 |
color | N/A | 字符串 | null | 可选。消息文本的颜色。必须是一个有效的HTML颜色字符串格式(例如 "#RRGGBB" 或 "#RRGGBBAA")。如果省略,将使用系统默认颜色。 |
showTime | N/A | 浮点数 | null | 可选。消息在屏幕上显示的持续时长(秒)。如果省略,将使用 DisplayMessage API 的默认时长(通常为3秒)。 |
PromptDisplayCategory (枚举)
PromptDisplayCategory 枚举定义了消息的不同显示类别,这将影响消息在游戏界面上的具体呈现方式(例如位置、大小、动画等)。
- 请查阅具体游戏UI系统文档以获取
PromptDisplayCategory的详细枚举值及其对应的显示效果。- 示例可能的枚举值(实际请以游戏代码为准):
SystemMessage: 系统通知,通常位于屏幕中央或顶部。Warning: 警告信息,可能以黄色或红色高亮显示。QuestUpdate: 任务更新提示。Dialogue: 对话或剧情文本。FloatingText: 浮动在实体上方的文本,如伤害数字。
- 示例可能的枚举值(实际请以游戏代码为准):
示例
以下是 EventDef 的示例,展示了 Event_MessageWorkClass 的不同用法:
<Define>
<!-- 假设 PromptDisplayCategory 枚举类型包含 SystemMessage, Warning, QuestUpdate 值 -->
<!-- 示例1: 显示一个普通的系统消息 -->
<EventDef>
<defName>ShowSystemWelcomeMessage</defName>
<label>显示欢迎消息</label>
<description>在游戏开始时显示一条欢迎系统消息。</description>
<workClass>Event_MessageWorkClass</workClass>
<parameter>
{
"message": "欢迎来到奇幻世界!",
"type": "SystemMessage"
}
</parameter>
</EventDef>
<!-- 示例2: 显示一个红色的警告消息,持续5秒 -->
<EventDef>
<defName>ShowCriticalWarning</defName>
<label>显示严重警告</label>
<description>在发生严重错误时显示红色警告。</description>
<workClass>Event_MessageWorkClass</workClass>
<parameter>
{
"message": "危险!敌人正在逼近!",
"type": "Warning",
"color": "#FF0000",
"showTime": 5.0
}
</parameter>
</EventDef>
<!-- 示例3: 显示一个绿色的任务更新消息 -->
<EventDef>
<defName>ShowQuestCompleted</defName>
<label>显示任务完成提示</label>
<description>任务完成后显示绿色提示。</description>
<workClass>Event_MessageWorkClass</workClass>
<parameter>
{
"message": "主线任务:探索之始 完成!",
"type": "QuestUpdate",
"color": "#00FF00"
}
</parameter>
</EventDef>
</Define>
复杂参数说明
parameter 字段 (JSON配置)
- 说明:
EventDef中的parameter字段是一个特别说明,它不使用标准的XML元素赋值方式,而是直接作为文本内容包含一个JSON格式的字符串。这个JSON字符串包含了MessageData的所有配置参数,用于指导Event_MessageWorkClass的具体行为。您需要确保提供的JSON字符串是语法正确的,并且其内容符合MessageData的结构。 - JSON属性与C#映射关系:
- 所有JSON属性名(如
message,type等)与C#内部数据类MessageData中的对应属性名一致(JSON通常使用驼峰式命名)。
- 所有JSON属性名(如
- 枚举值的JSON表示:
在JSON中,枚举类型
PromptDisplayCategory的值应以其字符串名称来表示。- 例如:
"type": "SystemMessage"
- 例如:
color 字段 (HTML颜色字符串)
- 说明:如果需要为消息文本指定颜色,可以使用
color字段。这个字段的值必须是有效的HTML颜色字符串。- 支持的格式:
"#RRGGBB":六位十六进制RGB值,例如"#FF0000"(红色)。"#RRGGBBAA":八位十六进制RGBA值(包含透明度),例如"#00FF0080"(半透明绿色)。
- 注意事项:如果您提供的颜色字符串格式不正确,
Event_MessageWorkClass在初始化时会报错,导致事件无法运行。
- 支持的格式: