bayuMIR/client/dev/GUILayout/game/tongyong/ShabaKeOBJ.lua
2026-06-12 02:32:15 +08:00

83 lines
2 KiB
Lua

ShabaKeOBJ = Up_BaseClassOBJ:new()
ShabaKeOBJ.__cname = "ShabaKeOBJ"
-- 配置文件
ShabaKeOBJ.cfg = {}
-- UI文件
ShabaKeOBJ.UIfile = "game/Tongyong/ShabaKeUI"
function ShabaKeOBJ:updata()
local cfg = self.cfg
SL:dump(cfg)
---* 检测是否为首沙之战,更新奖励图片
GUI:Image_loadTexture(self.ui.jl_img, string.format("res/custom/39/%d.png", cfg.checkFirstWar and 1 or 2))
--* 点击传送
for i = 1, 5, 1 do
local move_btn = self.ui[string.format("move_btn_%d", i)]
GUI:addOnClickEvent(move_btn, function()
ssrMessage:SubLink("ShabaKeOBJ_".."move",i)
end)
end
GUI:Text_setString(self.ui.hanghui_name, cfg._castleName == "" and "" or cfg._castleName)
GUI:Text_setString(self.ui.huizhang_name, cfg._castlemaster == "管理员" and "" or cfg._castlemaster)
self:setTime()
end
function ShabaKeOBJ:setTime(value)
value = tonumber(value) or tonumber(SL:Get_SERVER_VALUE("HUMAN(INT_攻城区域计秒)"))
SL:dump(value)
GUI:Text_setString(self.ui.time_text, string.format("%d分钟",math.floor(value/60)))
end
---* 注册事件
function ShabaKeOBJ:EventBind()
local function ShabaKeOBJ_Var_Change(data)
if GUI:Win_IsNotNull(self._parent) then
if data.key == "HUMAN(INT_攻城区域计秒)" then
self:setTime(data.value)
end
end
end
SL:RegisterLUAEvent(LUA_EVENT_SERVER_VALUE_CHANGE, self.__cname, ShabaKeOBJ_Var_Change, self._parent)
--关闭窗口
SL:RegisterLUAEvent(LUA_EVENT_CLOSEWIN, self.__cname, function(widgetName)
self:OnClose(widgetName)
end)
end
--关闭窗口
function ShabaKeOBJ:OnClose(widgetName)
if widgetName == self.__cname then
self:UnRegisterEvent()
end
end
function ShabaKeOBJ:UnRegisterEvent()
-- SL:SetLocalString("ShabaKe", SL:JsonEncode(ShabaKeOBJ.LocalStr))
-- SL:UnRegisterLUAEvent(LUA_EVENT_SERVER_VALUE_CHANGE, self.__cname)
SL:UnRegisterLUAEvent(LUA_EVENT_CLOSEWIN, self.__cname)
end
return ShabaKeOBJ