Skip to content

Latest commit

 

History

History
20 lines (13 loc) · 1.47 KB

File metadata and controls

20 lines (13 loc) · 1.47 KB

↩ 返回总览


8. UI工具包与数据绑定

为了加速开发,RogueKit将提供一套预制的、功能齐全的UI组件,并建立一套清晰的UI与游戏数据交互的规范。

8.1. 预制UI组件

库将提供一系列常用的、可直接使用的UI场景,开发者可以将它们实例化并根据自己的美术风格进行定制。

  • HealthBar.tscn: 一个可以自动响应health_changed信号的生命条。
  • InventoryWindow.tscn: 一个功能完整的网格化库存界面,包含物品槽位。
  • MessageLog.tscn: 一个经典的Roguelike文本日志,用于显示战斗信息和游戏事件。

8.2. 数据绑定策略

UI与数据的同步是关键。RogueKit将主要采用基于信号的数据绑定策略,这是一种松耦合且符合Godot设计哲学的方式。

  • 信号驱动: 核心数据对象(如Stat资源)在数据变化时会发出信号(例如stat_adjusted)。UI组件(如HealthBar)的脚本将连接到这些信号,并在接收到信号时更新其显示。
  • DataBinder 节点 (可选): 为了进一步简化UI开发,库可以提供一个通用的DataBinder节点。开发者可以将这个节点附加到任何UI控件上,然后在编辑器中配置它:指定要监听的数据源(如玩家的HealthComponenthealth属性)和要更新的目标控件属性(如ProgressBarvalue属性)。DataBinder内部会自动处理信号的连接和断开。