123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 |
- ---@class KLUIChallengeBossPosItem:UIKmlLuaPanelBase
- ---@field view KLUIChallengeBossPosItemView
- local KLUIChallengeBossPosItem = class(UIKmlLuaPanelBase)
- local this = KLUIChallengeBossPosItem
- ---创建时调用一次
- function this:Init()
- end
- ---创建或者刷新界面数据时调用
- function this:Refresh()
- end
- function this:RefreshItem(data, mapId, panel)
- self.isOpen = true
- self.mapId = mapId
- self.panel = panel
- self.data = data
- self.monsterId = self.data.monsterId
- --self.monsterid = self.data
- self.x = self.data.x
- self.y = self.data.y
- self.relivetime = self.data.reviveTime
- --SL:LogError(self.relivetime)
- local tab = SL:GetConfigMultiKeys('cfg_repfairyland', self.mapId, 'id')
- local monster_tab = SL:GetConfigMultiKeys('cfg_monster', self.mapId, 'id')
- --local map_info = SL:FindConfigs("cfg_map_info","id",self.mapId)
- local name = self.data.monsterName
- local pos = "坐标 " .. self.x .. "," .. self.y
- self.is_dead = false
- GUI:Text_setString(self.view.name, name)
- GUI:Text_setString(self.view.pos_str, pos)
- GUI:Text_setString(self.view.info, "待击杀")
- if self.relivetime and self.relivetime ~= 0 and self.relivetime ~= "0" then
- self.relivetime = tonumber(self.relivetime)
- GUI:setVisible(self.view.info, false)
- GUI:setVisible(self.view.revive_time, true)
- local current_time = Time.GetServerTime()
- self.relivetime = math.ceil((self.relivetime - current_time) / 1000)
- if self.relivetime > 0 then
- SL:ScheduleOnce(self.relivetime + 0.5, function()
- self:RefreshData()
- end)
- GUI:SetControl_time(self.view.revive_time, self.relivetime)
- self.is_dead = true
- else
- GUI:setVisible(self.view.info, true)
- GUI:setVisible(self.view.revive_time, false)
- end
- else
- GUI:setVisible(self.view.info, true)
- GUI:setVisible(self.view.revive_time, false)
- end
-
- self:ReqFirst()
- end
- function this:RefreshData()
- if not self.isOpen then
- return
- end
- self.panel:GetBossList()
- end
- function this:HideItem()
- GUI:setVisible(self.view.level_select, false)
- end
- ---注册UI事件和服务器消息
- function this:RegistEvents()
- GUI:AddOnClickEvent(self.view.btn, self, self.Onclick)
- SL:RegisterLuaNetMsg(LuaMessageIdToClient.SECRET_REALM_HURT_TOP1, self.FirstInfo, self)
- end
- function this:Onclick()
- SL:Pathfinding(self.mapId, 1, self.x, self.y,self.PosEnd)
- end
- function this:PosEnd()
- SL:StartOnHook(true,true,self.monsterId)
- end
- function this:ReqFirst()
- SL:SendLuaNetMsg(LuaMessageIdToSever.REQ_SECRET_REALM_HURT_TOP1, { monsterId = self.monsterId })
- end
- function this:FirstInfo(id, message)
- if not self.isOpen then
- return
- end
- if self.is_dead then
- return
- end
- if message and message.monsterId and message.monsterId == self.monsterId then
- if message.name then
- local str = "伤害第一:" .. message.name
- GUI:Text_setString(self.view.info, str)
- end
- end
- end
- function this:RefreshFirstData()
- end
- function this:Close()
- self.isOpen = false
- end
- return this
|