FreeKill/lua/ui-util.lua
Nyutanislavsky adafcfbae1
Bugfix (#224)
1. 为选项框增加all_choices,可以看到无法选择的选项
2. 体力上限减到0以下不会再死两次
3. 预判超量回复
4. 可以在摸牌前事件打断摸牌
5. 修复卡牌可以使用判断
6. 添加移动场上牌的返回值(卡牌和玩家id)
7. 修复谋徐盛的属性伤害
8. 修改选择多张牌的翻译
9. 修复变更武将的hp设置

---------

Signed-off-by: Mechanel <nyutanislavsky@qq.com>
2023-07-16 15:29:20 +08:00

40 lines
1.4 KiB
Lua
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-- SPDX-License-Identifier: GPL-3.0-or-later
-- 主动技/视为技用。
-- 能创造一个简单的组件供UI使用。
-- 前端的应答/修改最终会被保存到xxx.data中。
-- 同时,这些应答也会被上传到服务器中。
local UI = {}
-- ComboBox: 一个按钮点击后会显示类似askForChoice的框供选择
-- 可以赋值的属性有:
-- * choices: string[] 类型,保存着可选项,会被前端翻译
-- * default: string默认的选项默认为choices的第一个
-- * detailed: bool为真的话送详细信息
-- * all_choices: string[] 类型,保存着所有选项,会被前端翻译
UI.ComboBox = function(spec)
-- assert(type(spec.choices) == "table", "Choices is not a table")
-- assert(#spec.choices > 0, "Choices is empty")
spec.choices = type(spec.choices) == "table" and spec.choices or Util.DummyTable
spec.default = spec.default or spec.choices[1]
spec.detailed = spec.detailed or false
spec.all_choices = type(spec.all_choices) == "table" and spec.all_choices or spec.choices
spec.type = "combo"
return spec
end
-- Spin: 一个能用两侧加减号调整某些数值的组件,见于奇谋等技能
-- 可以赋值的属性有:
-- * from: 最小值
-- * to: 最大值
-- * default: 默认值 默认为最小的
UI.Spin = function(spec)
assert(spec.from <= spec.to)
spec.type = "spin"
return spec
end
return UI