163 lines
5.3 KiB
Lua
163 lines
5.3 KiB
Lua
HuodongzhongxinOBJ = Up_BaseClassOBJ:new()
|
|
|
|
HuodongzhongxinOBJ.__cname = "HuodongzhongxinOBJ"
|
|
|
|
-- UI文件
|
|
HuodongzhongxinOBJ.UIfile = "game/Tongyong/HuodongzhongxinUI"
|
|
|
|
-- 配置文件
|
|
HuodongzhongxinOBJ.cfg = {}
|
|
HuodongzhongxinOBJ.other = nil
|
|
HuodongzhongxinOBJ.npcid = nil
|
|
|
|
function HuodongzhongxinOBJ:updata()
|
|
GUI:ListView_removeAllItems(self.ui.Listbtn_ListView)
|
|
for i, v in ipairs(self.cfg or {}) do
|
|
local list_btn = string.format("list_btn_%d", i)
|
|
self.ui[list_btn] = GUI:Button_Create(self.ui.Listbtn_ListView, list_btn, 0, 0, string.format("res/custom/27/btn/%s.png", self.id == i and tostring(i) or tostring(i) .. "a"))
|
|
GUI:addOnClickEvent(self.ui[list_btn], function()
|
|
GUI:Button_loadTextureNormal(self.ui["list_btn_" .. self.id], string.format("res/custom/27/btn/%s.png", self.id .. "a"))
|
|
GUI:Button_loadTextureNormal(self.ui[list_btn], string.format("res/custom/27/btn/%s.png", i))
|
|
self.id = i
|
|
self:set_show()
|
|
end)
|
|
end
|
|
self:set_show()
|
|
end
|
|
|
|
function HuodongzhongxinOBJ:set_show()
|
|
GUI:Image_loadTexture(self.ui.activity_bg, string.format("res/custom/27/bg/%d.png", self.id))
|
|
GUI:Text_setString(self.ui.activity_Text, self.cfg[self.id].msg or "")
|
|
|
|
|
|
GUI:addOnClickEvent(self.ui.Up_btn, function()
|
|
ssrMessage:SubLink(self.__cname .. "_up", self.id)
|
|
end)
|
|
|
|
self:daluandou()
|
|
end
|
|
|
|
----* 大乱斗功能
|
|
function HuodongzhongxinOBJ:daluandou()
|
|
GUI:setVisible(self.ui.LuandouRank_img, false)
|
|
|
|
local _daluandou = self.id == 3 and true or false
|
|
|
|
---* 报名是否开启
|
|
local BaoMing_bool = (tonumber(SL:Get_SERVER_VALUE("GLOBAL(INT_DALUANDOUBAOMING)")) or 0) > 0 and true or false
|
|
|
|
|
|
if not BaoMing_bool then
|
|
GUI:setVisible(self.ui.baomin_btn, false)
|
|
GUI:setVisible(self.ui.baomin_img, false)
|
|
else
|
|
GUI:setVisible(self.ui.baomin_img, true)
|
|
---* 个人是否报名
|
|
local self_register = (tonumber(SL:Get_SERVER_VALUE("HUMAN(INT_大乱斗已报名)")) or 0) > 0 and 1 or 2
|
|
|
|
if self_register == 1 then
|
|
GUI:setVisible(self.ui.baomin_btn, false)
|
|
else
|
|
GUI:setVisible(self.ui.baomin_btn, true)
|
|
end
|
|
|
|
GUI:Image_loadTexture(self.ui.baomin_img, string.format("res/custom/27/bq/%d.png", self_register))
|
|
end
|
|
|
|
if _daluandou then
|
|
GUI:setVisible(self.ui.Look_rank_btn, true)
|
|
GUI:setPositionX(self.ui.Up_btn, 106)
|
|
else
|
|
GUI:setVisible(self.ui.Look_rank_btn, false)
|
|
GUI:setPositionX(self.ui.Up_btn, 206)
|
|
end
|
|
|
|
|
|
GUI:setVisible(self.ui.daluandou_Layou, _daluandou)
|
|
|
|
|
|
|
|
GUI:addOnClickEvent(self.ui.baomin_btn, function()
|
|
ssrMessage:SubLink(self.__cname .. "_BaoMing")
|
|
end)
|
|
|
|
|
|
GUI:addOnClickEvent(self.ui.Look_rank_btn, function()
|
|
ssrMessage:SubLink("HuodongzhongxinOBJ_luandouGetData")
|
|
self:reloadLuanDou()
|
|
ssrMessage:SubLink("HuodongzhongxinOBJ_luandouGetData", 10002)
|
|
GUI:setVisible(self.ui.LuandouRank_img, true)
|
|
end)
|
|
end
|
|
|
|
function HuodongzhongxinOBJ:reloadLuanDou()
|
|
local BaoMingNum = tonumber(hk.getvalue("GLOBAL(INT_BAOMINGRENSHU)")) or 0
|
|
SL:dump(BaoMingNum)
|
|
GUI:Text_setString(self.ui.Text_BaoMingNum, BaoMingNum)
|
|
end
|
|
|
|
function HuodongzhongxinOBJ:reloadLuanDouRank(data)
|
|
GUI:ListView_removeAllItems(self.ui.Rank_ListView)
|
|
for i, v in ipairs(data.Rank or {}) do
|
|
local list_Layout = string.format("list_Layout_%d", i)
|
|
self.ui[list_Layout] = GUI:Layout_Create(self.ui.Rank_ListView, list_Layout, 0, 0, 200, 30, false)
|
|
|
|
local list_name = string.format("list_name_%d", i)
|
|
self.ui[list_name] = GUI:Text_Create(self.ui[list_Layout], list_name, 136, 16, 16, SL:GetHexColorByStyleId(255 - i), v[2])
|
|
GUI:setAnchorPoint(self.ui[list_name], 0.50, 0.50)
|
|
|
|
local list_jifen = string.format("list_jifen_%d", i)
|
|
self.ui[list_jifen] = GUI:Text_Create(self.ui[list_Layout], list_jifen, 304, 16, 16, SL:GetHexColorByStyleId(255 - i), v[3])
|
|
GUI:setAnchorPoint(self.ui[list_jifen], 0.50, 0.50)
|
|
end
|
|
end
|
|
|
|
|
|
|
|
function HuodongzhongxinOBJ:close()
|
|
if GUI:Win_IsNotNull(self._parent) then
|
|
GUI:Win_Close(self._parent)
|
|
end
|
|
end
|
|
|
|
---* 注册事件
|
|
function HuodongzhongxinOBJ:EventBind()
|
|
local function HuodongzhongxinOBJ_Var_Reload(data)
|
|
if GUI:Win_IsNotNull(self._parent) then
|
|
if data.key == "HUMAN(INT_大乱斗已报名)" and self.id == 3 then
|
|
self:daluandou()
|
|
end
|
|
end
|
|
end
|
|
SL:RegisterLUAEvent(LUA_EVENT_SERVER_VALUE_CHANGE, self.__cname, HuodongzhongxinOBJ_Var_Reload)
|
|
|
|
|
|
local function synData(msgID, arg1, arg2, arg3, jsonstr)
|
|
local msgData = jsonstr and SL:JsonDecode(jsonstr) or nil
|
|
if not msgData then
|
|
return
|
|
end
|
|
HuodongzhongxinOBJ:reloadLuanDouRank(msgData)
|
|
end
|
|
SL:RegisterLuaNetMsg(10002, synData)
|
|
|
|
|
|
--关闭窗口
|
|
SL:RegisterLUAEvent(LUA_EVENT_CLOSEWIN, self.__cname, function(widgetName)
|
|
self:OnClose(widgetName)
|
|
end)
|
|
end
|
|
|
|
--关闭窗口
|
|
function HuodongzhongxinOBJ:OnClose(widgetName)
|
|
if widgetName == self.__cname then
|
|
self:UnRegisterEvent()
|
|
end
|
|
end
|
|
|
|
function HuodongzhongxinOBJ:UnRegisterEvent()
|
|
SL:UnRegisterLUAEvent(LUA_EVENT_SERVER_VALUE_CHANGE, self.__cname)
|
|
SL:UnRegisterLUAEvent(LUA_EVENT_CLOSEWIN, self.__cname)
|
|
end
|
|
|
|
return HuodongzhongxinOBJ
|