---@class CopActivityInfo CopActivityInfo = class() local this = CopActivityInfo function this:ctor() end function this:Reset() end function this:Init() self:InitData() self:RegistMessages() end function this:InitData() this.bloodTaskState = 0 this.pickUpWeaponRid = 0 this.hideTask = false this.hideTeam = false ---@type cfg_repTask_column[] local tblList = SL:GetConfigTable("cfg_repTask") ---@param v cfg_repTask_column for i, v in pairs(tblList) do if v.type == 3 then this.bloodNpcId = v.param[2] break end end this.isShowCrossServerTrade = true end function this:RegistMessages() SL:RegisterLuaNetMsg(LuaMessageIdToClient.RES_DEVIL_SQUARE_SETTLEMENT,self.RES_DEVIL_SQUARE_SETTLEMENT) SL:RegisterLuaNetMsg(LuaMessageIdToClient.RES_BLOODY_CASTLE_SETTLEMENT ,self.RES_BLOODY_CASTLE_SETTLEMENT) SL:RegisterLuaNetMsg(LuaMessageIdToClient.BLOODY_CASTLE_SWORD_VIEW ,self.BLOODY_CASTLE_SWORD_VIEW) SL:RegisterLuaNetMsg(LuaMessageIdToClient.RES_QUIT_DUPLICATE,self.RES_QUIT_SUCCESS) SL:RegisterLuaNetMsg(LuaMessageIdToClient.RES_DUPLICATE_TEAM_INFO,self.RES_DUPLICATE_TEAM_INFO) SL:RegisterLuaNetMsg(LuaMessageIdToClient.COMBO_REWARD_PANEL, self.ACTIVITY_REWARD_PANEL, self) SL:RegisterLuaNetMsg(LuaMessageIdToClient.BRAVE_TEST_REWARD, self.ACTIVITY_REWARD_PANEL, self) SL:RegisterLUAEvent(LUA_EVENT_NPC_CREATE,self.LUA_EVENT_NPC_CREATE) end function this.RES_DEVIL_SQUARE_SETTLEMENT(id,message) GUI:UIPanel_Open("dev/outui/Activity/Panel/KLSettlement/KLSettlementPanel",nil,nil,message) end function this.RES_BLOODY_CASTLE_SETTLEMENT(id,message) GUI:UIPanel_Open("dev/outui/Activity/Panel/KLSettlement/KLSettlementPanel",nil,nil,message) end function this.BLOODY_CASTLE_SWORD_VIEW(id,message) local rid = tonumber(message["1"]) local itemCfg = tonumber(message["2"]) if not rid then rid = tonumber(message[1]) itemCfg = tonumber(message[2]) end SL:AttachActivityWeapon(rid,itemCfg) this.pickUpWeaponRid = rid end function this.LUA_EVENT_NPC_CREATE(_, data) if this.bloodNpcId == data.npcId then if this.bloodTaskState == 0 then SL:SetNpcIcon(data.npcId, "task_progress") elseif this.bloodTaskState > 0 then SL:SetNpcIcon(data.npcId, "task_finish") end end end function this.RES_QUIT_SUCCESS() this.bloodTaskState = 0 this.pickUpWeaponRid = 0 SL:SetMetaValue(EMetaVarSetKey.SET_ISNOTCHANGEPKMODE, false) end function this.RES_DUPLICATE_TEAM_INFO(id,message) ---@type KLCopyTeamPanel local panel = GUI:GetUI("dev/outui/Activity/Panel/KLCopyTeam/KLCopyTeamPanel") if not panel then GUI:UIPanel_Open("dev/outui/Activity/Panel/KLCopyTeam/KLCopyTeamPanel",nil,nil,message) end end function this:ACTIVITY_REWARD_PANEL(_, message) local reward = {} for i, v in pairs(message) do reward[tonumber(i)] = tonumber(v) end ---延时调用,要不会被地图切换关闭所有界面关掉 SL:ScheduleOnce(0.1, function() SL:OpenRewardTips(reward,0) end) end