用户界管理器

用户界管理器

一个类型安全的Kotlin DSL,用于构建、序列化和动态更新Hytale自定义UI,具备自动脏追踪、基于差异的更新、事件处理、数据绑定和表单支持。

图书馆

一种类型安全的 Kotlin DSL,用于完全从服务器端构建和管理 Hytale 自定义 UI。


主要特性:

  • Kotlin DSL 用于构建 UI 树,并带有自动生成的节点类
  • 页面和 HUD,具备自动脏追踪和基于差异的更新
  • 数据绑定到可观察属性
  • 事件处理,支持从输入字段捕获值
  • 表单支持,带有自动字段绑定
  • 与 Hytale 原版 UI 匹配的预样式模板
UiManager.registerPage("welcome", Unit) { playerRef, _ ->
    pageOverlay {
        decoratedContainer {
            title { defaultTitle { text = "欢迎".toMessage() } }
        content {
            layoutMode = LayoutMode.Top
            padding = UiPadding(full = 16)

            val nameField = defaultTextField {
                placeholderText = "输入你的名字".toMessage()
            }

            defaultTextButton {
                text = "问候".toMessage()
                onActivate(nameField::value) { name ->
                    playerRef?.sendMessage("你好,$name!")
                }
            }
        }
    }
}

}

// 向玩家展示 UiManager.showPage(playerRef, "welcome")

有关完整文档和示例,请参阅 GitHub 仓库