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