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

125 lines
4.6 KiB
Lua

XianShiChongBangOBJ = Up_BaseClassOBJ:new()
XianShiChongBangOBJ.__cname = "XianShiChongBangOBJ"
-- 配置文件
XianShiChongBangOBJ.cfg = {}
XianShiChongBangOBJ.UIfile = "game/A/XianShiChongBangUI"
-- 左侧按钮图片路径
XianShiChongBangOBJ.leftBtnImg = "res/custom/06/btn"
-- 左侧按钮数量
XianShiChongBangOBJ.leftNum = 2
function XianShiChongBangOBJ:updata()
ssrMessage:SubLink(self.__cname .. "_getrank", { page = self.id })
end
function XianShiChongBangOBJ:sync(p1, p2, p3, data)
local SeverTime = data.other.SeverTime or 0
if SeverTime == 0 then
GUI:Text_setString(self.ui.Tiem_Text, "未开启")
GUI:Text_setTextColor(self.ui.Tiem_Text, "#ff0000")
elseif os.time() >= (SeverTime + 86400) then
GUI:Text_setString(self.ui.Tiem_Text, "已结束")
GUI:Text_setTextColor(self.ui.Tiem_Text, "#ff0000")
else
GUI:Text_COUNTDOWN(self.ui.Tiem_Text, (SeverTime + 86400) - os.time(), nil, 0)
GUI:Text_setTextColor(self.ui.Tiem_Text, "#00ff00")
end
local self_name = SL:Get_USER_NAME()
GUI:ListView_removeAllItems(self.ui.ListView)
for i = 1, 10, 1 do
GUI:QuickCell_Create(self.ui.ListView, "QuickCell_Create" .. i, 0, 0, 544, 30, function(quickParent)
local cfg = self.cfg[i]["rank_" .. self.id]
local list_Layout = GUI:Layout_Create(quickParent, "list_Layout", 0, 0, 544, 30, false)
local rank_index = GUI:Text_Create(list_Layout, "rank_index", 34, 15, 16, "#00ff00", string.format("第%d名", i))
GUI:setAnchorPoint(rank_index, 0.50, 0.50)
local player = data.other.Rank[i] and data.other.Rank[i][2] or "暂无玩家"
local rank_name = GUI:Text_Create(list_Layout, "rank_name", 138, 15, 16, "#00ff00", player)
GUI:setAnchorPoint(rank_name, 0.50, 0.50)
local rank_Layout = GUI:Layout_Create(list_Layout, "rank_Layout", 340, 15, 20, 30, false)
GUI:setAnchorPoint(rank_Layout, 0.50, 0.50)
for id, v in ipairs(cfg) do
local give_Lyout = GUI:Layout_Create(rank_Layout, "give_Lyout_" .. id, 0.00, 15.00, 70, 30, false)
GUI:Win_SetParam(give_Lyout, #cfg - i)
GUI:setAnchorPoint(give_Lyout, 0.50, 0.50)
local item = GUI:ItemShow_Create(give_Lyout, "Item_" .. id, 0.00, 15.00, { index = SL:GetMetaValue("ITEM_INDEX_BY_NAME", v[1]), look = true, bgVisible = false, count = 1 })
GUI:setAnchorPoint(item, 0.50, 0.50)
GUI:setScale(item, 0.5)
local give_text = GUI:Text_Create(give_Lyout, "give_text_" .. id, 32.00, 14.00, 14, "#ffffff", string.format("x%d", v[2]))
GUI:setAnchorPoint(give_text, 0.50, 0.50)
end
GUI:UserUILayout(rank_Layout, {
dir = 2,
addDir = 2,
interval = 1,
-- gap = { x = -15 },
sortfunc = function(lists)
table.sort(lists, function(a, b)
return GUI:Win_GetParam(a) > GUI:Win_GetParam(b)
end)
end
})
local linkstr = (player ~= "暂无玩家" and player == self_name) and "<我要领取/@1111>" or "不可领取"
local oper_Text = GUI:RichTextFCOLOR_Create(list_Layout, "oper_Text", 490, 15, linkstr, 100, 14, "#C0C0C0", 0, function(...)
ssrMessage:SubLink(self.__cname .. "_givesrank", { rankid = self.id, id = i })
end, nil, { outlineSize = 1, outlineColor = SL:ConvertColorFromHexString("#000000") })
GUI:setAnchorPoint(oper_Text, 0.50, 0.50)
return list_Layout
end)
end
end
function XianShiChongBangOBJ:reddot()
end
------------------------网络消息------------------------
------------------------注册事件------------------------
function XianShiChongBangOBJ:EventBind()
local function XianShiChongBangOBJ_titleReload(data)
if data.oper == 2 then
if GUI:Win_IsNotNull(self._parent) then
self:updata()
end
end
end
SL:RegisterLUAEvent(LUA_EVENT_TITLE_REFRESH, self.__cname, XianShiChongBangOBJ_titleReload)
--关闭窗口
SL:RegisterLUAEvent(LUA_EVENT_CLOSEWIN, self.__cname, function(widgetName)
self:OnClose(widgetName)
end)
end
--关闭窗口
function XianShiChongBangOBJ:OnClose(widgetName)
if widgetName == self.__cname then
self:UnRegisterEvent()
end
end
function XianShiChongBangOBJ:UnRegisterEvent()
SL:UnRegisterLUAEvent(LUA_EVENT_TITLE_REFRESH, self.__cname)
SL:UnRegisterLUAEvent(LUA_EVENT_CLOSEWIN, self.__cname)
end
return XianShiChongBangOBJ