Files
loneseDocument/Content/Blueprints/WBP_ChoiceButton.md
meishibiezb a8bdf281ff update
2026-06-05 03:01:15 +08:00

2.7 KiB
Raw Permalink Blame History

WBP_ChoiceButton

基本信息

  • 类型: WidgetBlueprint (UserWidget)
  • 父类: UserWidget
  • 源文件: /Game/Blueprints/UI/Dialog/WBP_ChoiceButton.WBP_ChoiceButton
  • 模块: Content/Blueprints/UI/Dialog

功能概述

对话选项按钮 Widget用于对话框系统中的分支选择。持有 Executorinterface、NameFName、ButtonTextFText三个变量。InitButton 函数初始化按钮的 executor、名称和文本Get_Text_Text 返回按钮显示文本。

设计用意

对话框系统中用于呈现玩家可选分支的 UI 按钮,通过 Executor 接口与对话执行器通信Name 标识选项标识符。

职责范围

  • 渲染对话框分支选项按钮
  • 通过 Executor 接口将选项选择结果传递给对话执行系统

项目内依赖

依赖项 关系 源文件
(无)

外部视角

WBP_ChoiceButton 是 UserWidget 的子类,从外部调用者视角:

公开属性(蓝图可读写)

  • Executor(接口引用)— 对话执行器接口
  • NameFName— 选项标识符
  • ButtonTextFText— 按钮显示文本

自定义函数

  • 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 动态生成并初始化,用于玩家对话分支选择