123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149 |
- ---@class KLEquipDropItem:UIKmlLuaPanelBase
- ---@field view KLEquipDropItemView
- local KLEquipDropItem = class(UIKmlLuaPanelBase)
- local this =KLEquipDropItem
- ---创建时调用一次
- function this:Init()
- self.perewardInfos = {}
- GUI:DataListInitData(self.view.Perrewards, function()
- return table.count(self.perewardInfos)
- end, function(realIndex)
- return self:DataListItemGetFunc(realIndex)
- end, function(realIndex, kmlcontrol)
- return self:DataListItemInitFunc(realIndex, kmlcontrol)
- end, function(realIndex, kmlcontrol)
- return self:DataListItemUpdateFunc(realIndex, kmlcontrol)
- end)
- end
- ---多个奖励道具
- function this:DataListItemGetFunc(realIndex)
- end
- function this:DataListItemInitFunc(realIndex, kmlcontrol)
- end
- function this:DataListItemUpdateFunc(realIndex, kmlcontrol)
- local data = self.perewardInfos[realIndex + 1]
- local item = self.view.Perrewards:GetChildControl(realIndex, "itemreward")
- local count = "<color=#fbd994>"..SL:GetSimpleNumber(tonumber(data[2]),0).."</color>"
- GUI:AddOnClickEvent(item,self,function()
- SL:OpenTips(nil, data[1])
- end)
- GUI:Item_UpdataData(item, {
- itemid = data[1],
- itemcustomcount = count,
- })
- end
- ---创建或者刷新界面数据时调用
- function this:Refresh()
- end
- function this:UpdateUI(data,ranking_id)
- self.data = data
- self.ranking_id = ranking_id
- self.personalrewardid = data.personalreward_type[1]
- self.rewardid = data.equip_item_id
- local state,usecount,rank = InfoManager.openServerInfo:GetRankAndNumByType(self.personalrewardid,data.personalreward_type[2])
- local name,serstate = InfoManager.openServerInfo:GetRankNameBySort(self.rewardid,1)
- ---后端奖励领取状态:0 正常 1 可领取 2 已领取
- self.state = state
- self.serstate = serstate
- local leftcount = data.personalreward_type[2] - usecount
- if self.state == 1 then
- leftcount = leftcount + 1
- end
-
- local cfg = SL:FindConfigs("cfg_item","id",data.equip_item_id)
- local grade = SL:GetEquipValue(EMetaVarGetKey.EQUIP_GRADE, nil, data.equip_item_id, nil)
- local name_color = SL:GetConfigMultiKeys('cfg_equip_quality', grade, 'id').nameColor
- self.rewarditem = data.reward_item[1]
- local count = "<color=#fbd994>"..SL:GetSimpleNumber(tonumber(self.rewarditem[2]),0).."</color>"
- if cfg and cfg[1] then
- local name = cfg[1].name
- GUI:Text_setString(self.view.text60, name)
- GUI:Text_setTextColor(self.view.text60, tostring(name_color))
- end
- GUI:Text_setString(self.view.text61, name)
- GUI:Text_setString(self.view.text66, "剩余:"..leftcount) ----个人剩余数量
- --装备id
- GUI:Item_setItemId(self.view.item59,data.equip_item_id)
- --首曝
- GUI:Item_setItemId(self.view.item62,self.rewarditem[1])
- GUI:Item_UpdataData(self.view.item62,{itemcustomcount = count})
- --itemcount = self.rewarditem[2]
- --个人
- self.perewardInfos = data.personalreward_item
- if self.perewardInfos then
- GUI:DataListUpdateData(self.view.Perrewards)
- GUI:setVisible(self.view.Perrewards,true)
- else
- GUI:setVisible(self.view.Perrewards,false)
- end
- --按钮状态文本
- if self.state == 0 then
- GUI:Text_setString(self.view.button64, "前往")
- else
- GUI:Text_setString(self.view.button64, "领取奖励")
- end
- GUI:setVisible(self.view.light_btn64,self.state == 1 )
- GUI:setVisible(self.view.button64,self.state ~= 2 )
- GUI:setVisible(self.view.img71, rank > 0 and self.state == 2 ) ---个人已领取
- GUI:setVisible(self.view.img3,rank == 0 and self.state == 2) ---个人不可领取
- --GUI:setVisible(self.view.text66,not (rank == 0 and self.state == 2))
- GUI:setVisible(self.view.img10,self.serstate == 1 ) ---全服可领取
- GUI:setVisible(self.view.img70,self.serstate == 2 ) ---全服已领取
- end
- function this:SetPosEquipItem()
- GUI:setPositionX(self.view.Perlayout,0)
- end
- ---注册UI事件和服务器消息
- function this:RegistEvents()
- GUI:AddOnClickEvent(self.view.item59,self,self.Equip_itemClick)
- GUI:AddOnClickEvent(self.view.item62,self,self.EquipFir_itemClick)
- GUI:AddOnClickEvent(self.view.button64,self,self.OnClickButton)
- end
- function this:Equip_itemClick()
- SL:OpenTips(nil,self.data.equip_item_id)
- end
- ---首曝奖励
- function this:EquipFir_itemClick()
- if self.serstate ~=2 then
- if self.serstate ==1 then
- SL:SendLuaNetMsg(LuaMessageIdToSever.REQ_OPEN_SERVER_ACT_RANK_REWARD,{goalValue = self.rewardid, rankType = self.ranking_id })
- else
- SL:OpenTips(nil,self.rewarditem[1])
- end
- end
- end
- ---领取个人奖励
- function this:OnClickButton()
- if self.state == 0 then
- --跳转首领挑战野外boss
- self.boss_id = 40006
- self.boss_type = 2
- if self.boss_type > 0 then
- SL.HideMainPanel()
- GUI:UIPanel_Close("dev/outui/ServerActivity/Panel/KLOpenServer/KLOpenServerPanel")
- GUI:UIPanel_Open("dev/outui/ChallengeBoss/Panel/KLChallengeBoss/KLChallengeBossPanel",nil,
- nil,{monsterId = self.boss_id,monsterType = self.boss_type })
- end
- else
- if self.personalrewardid then
- SL:SendLuaNetMsg(LuaMessageIdToSever.REQ_OPEN_SERVER_ACT_PERSONAL_REWARD,{goalValue = self.personalrewardid, rankType = self.ranking_id })
- end
- end
- end
- function this:Close()
- end
- return this
|