2.7 KiB
2.7 KiB
WBP_ChoiceButton
基本信息
- 类型: WidgetBlueprint (UserWidget)
- 父类: UserWidget
- 源文件: /Game/Blueprints/UI/Dialog/WBP_ChoiceButton.WBP_ChoiceButton
- 模块: Content/Blueprints/UI/Dialog
功能概述
对话选项按钮 Widget,用于对话框系统中的分支选择。持有 Executor(interface)、Name(FName)、ButtonText(FText)三个变量。InitButton 函数初始化按钮的 executor、名称和文本,Get_Text_Text 返回按钮显示文本。
设计用意
对话框系统中用于呈现玩家可选分支的 UI 按钮,通过 Executor 接口与对话执行器通信,Name 标识选项标识符。
职责范围
- 渲染对话框分支选项按钮
- 通过 Executor 接口将选项选择结果传递给对话执行系统
项目内依赖
| 依赖项 | 关系 | 源文件 |
|---|---|---|
| (无) | — | — |
外部视角
WBP_ChoiceButton 是 UserWidget 的子类,从外部调用者视角:
公开属性(蓝图可读写)
Executor(接口引用)— 对话执行器接口Name(FName)— 选项标识符ButtonText(FText)— 按钮显示文本
自定义函数
InitButton(InEx(接口), InName(FName), InText(FText))— 初始化按钮的执行器、名称和文本Get_Text_Text()→FText— 返回按钮的显示文本(用作绑定)
外部交互方式
- 由 WBP_TestUI(对话框 UI)在 SummonChoiceButtons 中动态创建
- 点击按钮时通过 Executor 接口将选择结果传递给对话执行系统
EventGraph 事件
| 事件 | 类型 | 触发时机 | 行为 |
|---|---|---|---|
事件预构造 |
原生覆盖 (PreConstruct) | Widget 创建时 | 预留(当前无连线逻辑) |
事件构造 |
原生覆盖 (Construct) | Widget 创建完成后 | 预留(当前无连线逻辑) |
事件Tick |
原生覆盖 | 每帧 | 预留(当前无连线逻辑) |
On Clicked (MainButton) |
组件绑定事件 | 用户点击按钮时 | 获取 Executor → 获取 Name → 通过 UDialogPresentationSubsystem 调用 ShowDialog 传递选择结果 |
使用方法
WBP_ChoiceButton 在项目中的典型调用流程:
- 选项生成流程 — WBP_TestUI.SummonChoiceButtons → 动态创建 WBP_ChoiceButton 实例 → InitButton 设置 Executor/Name/ButtonText → 挂接到面板
- 选项选择流程 — 用户点击按钮 → On Clicked (MainButton) → 获取 Executor 接口和 Name → 通过 UDialogPresentationSubsystem.ShowDialog 传递选择
用例
| 引用方 | 路径 | 用途 |
|---|---|---|
| WBP_TestUI | /Game/Blueprints/UI/Dialog/WBP_TestUI |
动态生成并初始化,用于玩家对话分支选择 |