CopActivityInfo.lua 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. ---@class CopActivityInfo
  2. CopActivityInfo = class()
  3. local this = CopActivityInfo
  4. function this:ctor()
  5. end
  6. function this:Reset()
  7. end
  8. function this:Init()
  9. self:InitData()
  10. self:RegistMessages()
  11. end
  12. function this:InitData()
  13. this.bloodTaskState = 0
  14. this.pickUpWeaponRid = 0
  15. this.hideTask = false
  16. this.hideTeam = false
  17. ---@type cfg_repTask_column[]
  18. local tblList = SL:GetConfigTable("cfg_repTask")
  19. ---@param v cfg_repTask_column
  20. for i, v in pairs(tblList) do
  21. if v.type == 3 then
  22. this.bloodNpcId = v.param[2]
  23. break
  24. end
  25. end
  26. this.isShowCrossServerTrade = true
  27. end
  28. function this:RegistMessages()
  29. SL:RegisterLuaNetMsg(LuaMessageIdToClient.RES_DEVIL_SQUARE_SETTLEMENT,self.RES_DEVIL_SQUARE_SETTLEMENT)
  30. SL:RegisterLuaNetMsg(LuaMessageIdToClient.RES_BLOODY_CASTLE_SETTLEMENT ,self.RES_BLOODY_CASTLE_SETTLEMENT)
  31. SL:RegisterLuaNetMsg(LuaMessageIdToClient.BLOODY_CASTLE_SWORD_VIEW ,self.BLOODY_CASTLE_SWORD_VIEW)
  32. SL:RegisterLuaNetMsg(LuaMessageIdToClient.RES_QUIT_DUPLICATE,self.RES_QUIT_SUCCESS)
  33. SL:RegisterLuaNetMsg(LuaMessageIdToClient.RES_DUPLICATE_TEAM_INFO,self.RES_DUPLICATE_TEAM_INFO)
  34. SL:RegisterLuaNetMsg(LuaMessageIdToClient.COMBO_REWARD_PANEL, self.ACTIVITY_REWARD_PANEL, self)
  35. SL:RegisterLuaNetMsg(LuaMessageIdToClient.BRAVE_TEST_REWARD, self.ACTIVITY_REWARD_PANEL, self)
  36. SL:RegisterLUAEvent(LUA_EVENT_NPC_CREATE,self.LUA_EVENT_NPC_CREATE)
  37. end
  38. function this.RES_DEVIL_SQUARE_SETTLEMENT(id,message)
  39. GUI:UIPanel_Open("dev/outui/Activity/Panel/KLSettlement/KLSettlementPanel",nil,nil,message)
  40. end
  41. function this.RES_BLOODY_CASTLE_SETTLEMENT(id,message)
  42. GUI:UIPanel_Open("dev/outui/Activity/Panel/KLSettlement/KLSettlementPanel",nil,nil,message)
  43. end
  44. function this.BLOODY_CASTLE_SWORD_VIEW(id,message)
  45. local rid = tonumber(message["1"])
  46. local itemCfg = tonumber(message["2"])
  47. if not rid then
  48. rid = tonumber(message[1])
  49. itemCfg = tonumber(message[2])
  50. end
  51. SL:AttachActivityWeapon(rid,itemCfg)
  52. this.pickUpWeaponRid = rid
  53. end
  54. function this.LUA_EVENT_NPC_CREATE(_, data)
  55. if this.bloodNpcId == data.npcId then
  56. if this.bloodTaskState == 0 then
  57. SL:SetNpcIcon(data.npcId, "task_progress")
  58. elseif this.bloodTaskState > 0 then
  59. SL:SetNpcIcon(data.npcId, "task_finish")
  60. end
  61. end
  62. end
  63. function this.RES_QUIT_SUCCESS()
  64. this.bloodTaskState = 0
  65. this.pickUpWeaponRid = 0
  66. SL:SetMetaValue(EMetaVarSetKey.SET_ISNOTCHANGEPKMODE, false)
  67. end
  68. function this.RES_DUPLICATE_TEAM_INFO(id,message)
  69. ---@type KLCopyTeamPanel
  70. local panel = GUI:GetUI("dev/outui/Activity/Panel/KLCopyTeam/KLCopyTeamPanel")
  71. if not panel then
  72. GUI:UIPanel_Open("dev/outui/Activity/Panel/KLCopyTeam/KLCopyTeamPanel",nil,nil,message)
  73. end
  74. end
  75. function this:ACTIVITY_REWARD_PANEL(_, message)
  76. local reward = {}
  77. for i, v in pairs(message) do
  78. reward[tonumber(i)] = tonumber(v)
  79. end
  80. ---延时调用,要不会被地图切换关闭所有界面关掉
  81. SL:ScheduleOnce(0.1, function()
  82. SL:OpenRewardTips(reward,0)
  83. end)
  84. end