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

111 lines
3.2 KiB
Lua

WangZheTeQuanOBJ = Up_BaseClassOBJ:new()
WangZheTeQuanOBJ.__cname = "FuLiDaTingOBJ"
WangZheTeQuanOBJ.cfg = {}
function WangZheTeQuanOBJ:main(parent, data)
self.cfg = data
GUI:LoadExport(parent, "game/FuLiDaTing/WangZheTeQuanUI")
self._parent = parent
self.ui = GUI:ui_delegate(parent)
if not self.ui then
return false
end
---* 绑定事件
self:EventBind()
self:updata()
self:reddot()
end
function WangZheTeQuanOBJ:updata()
local cfg = self.cfg
self.drop = {}
for i, v in ipairs(cfg.gives) do
table.insert(self.drop, { v.name, v.num, v.bind })
end
self:setDropShow(1, 10)
local tequan_open = tonumber(SL:Get_SERVER_VALUE("{2}"))
if tequan_open > 0 then
GUI:setTouchEnabled(self.ui.up_btn, false)
GUI:setVisible(self.ui.open_img, true)
--已开通:主动清掉上次可能贴过的红点
RedDotMgr.detachDot(self.ui.up_btn)
else
GUI:setVisible(self.ui.open_img, false)
GUI:setTouchEnabled(self.ui.up_btn, true)
GUI:addOnClickEvent(self.ui.up_btn, function()
ssrMessage:SubLink(MeiriXianGouOBJ.__cname .. "_wztq")
end)
local yuanbao_num = tonumber(SL:Get_MONEY(ssrConstCfg.Money["元宝"])) or 0
if yuanbao_num >= 1680 then
RedDotMgr.attachDot(self.ui.up_btn, { x = 120, y = 35 })
end
end
end
function WangZheTeQuanOBJ:reddot()
end
function WangZheTeQuanOBJ:EventBind()
local function WangZheTeQuanOBJ_Var_Change(data)
if GUI:Win_IsNotNull(self._parent) then
if data.key == "{2}" then
self:updata()
end
end
end
SL:RegisterLUAEvent(LUA_EVENT_SERVER_VALUE_CHANGE, self.__cname, WangZheTeQuanOBJ_Var_Change)
--关闭窗口
SL:RegisterLUAEvent(LUA_EVENT_CLOSEWIN, self.__cname .. "mrcz", function(widgetName)
self:OnClose(widgetName)
end)
end
--关闭窗口
function WangZheTeQuanOBJ:OnClose(widgetName)
if widgetName == self.__cname then
self:UnRegisterEvent()
end
end
function WangZheTeQuanOBJ:UnRegisterEvent()
SL:UnRegisterLUAEvent(LUA_EVENT_SERVER_VALUE_CHANGE, self.__cname)
SL:UnRegisterLUAEvent(LUA_EVENT_CLOSEWIN, self.__cname)
end
--注册到全局红点系统:任意限购项未买满 → 福利按钮 3 + 顶部福利图标都亮
if RedDotMgr and RedDotMgr.register then
RedDotMgr:register("FuLi_WangZheTeQuan", {
owner = "FuLiDaTingOBJ",
parent = "TopIcon_FuLi",
target = function()
return FuLiDaTingOBJ and FuLiDaTingOBJ.ui and FuLiDaTingOBJ.ui.class_btn_1
end,
offset = { x = 105, y = 35 },
watchKeys = { "{2}" },
check = function()
local cfg = FuLiDaTingOBJ and FuLiDaTingOBJ.cfg and FuLiDaTingOBJ.cfg[3]
if not cfg then
return false
end
local tequan_open = tonumber(SL:Get_SERVER_VALUE("{2}")) or 0
local yuanbao_num = tonumber(SL:Get_MONEY(ssrConstCfg.Money["元宝"])) or 0
if tequan_open == 0 and yuanbao_num >= 1680 then
return true
end
return false
end,
})
end
return WangZheTeQuanOBJ