| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198 |
- local UIDojoRewardView = require("UIDojo/UIDojoRewardView_Generate")
- function UIDojoRewardView:OnAwake(data)
- self.controller = require("UIDojo/UIDojoRewardCtr"):new()
- self.controller:Init(self)
- self.controller:SetData(data)
- end
- function UIDojoRewardView:AddEventListener()
- end
- function UIDojoRewardView:FillContent(data, uiBase)
- self.uiBase = uiBase
- local gameObject = self.uiBase:GetRoot()
- if gameObject ~= nil then
- self.gameObject = gameObject
- self.transform = gameObject.transform
- end
- self:InitGenerate(self.transform, data)
- self:Init()
- self:SetToggleBtnStatus()
- end
- function UIDojoRewardView:Init()
- self.danRewardToggle.toggle.interactable = true;
- self.rankRewardToggle.toggle.interactable = true;
- end
- function UIDojoRewardView:SetToggleBtnStatus()
- self.toggles = {}
- self.toggles[1] = self.danRewardToggle;
- self.toggles[2] = self.rankRewardToggle;
- self.curToggleIdx = 1
- self.toggles[self.curToggleIdx].toggle.isOn = true
- self.toggles[self.curToggleIdx].toggle.interactable = false
- self:ShowDanReward()
- end
- function UIDojoRewardView:RemoveEventListener()
- ManagerContainer.LuaEventMgr:Unregister(self.uiData.name)
- end
- function UIDojoRewardView:AddUIEventListener()
- self.uiBase:AddButtonEventListener(self.AnyBtn.button,self, self.OnClickCloseBtn)
- self.uiBase:AddButtonEventListener(self.closeBtn.button,self, self.OnClickCloseBtn)
- self.uiBase:AddToggleEventListener(self.danRewardToggle.toggle,self,self.OnClickTab,1)
- self.uiBase:AddToggleEventListener(self.rankRewardToggle.toggle,self,self.OnClickTab,2)
- end
- function UIDojoRewardView:OnHide()
- end
- function UIDojoRewardView:OnShow(data)
- self.controller:SetData(data)
- self:Init()
- end
- function UIDojoRewardView:OnClose()
- end
- function UIDojoRewardView:OnDispose()
- self.toggles = nil
- self.rewardItemScroll.loopVerticalScrollRect:ClearCells()
- self.curDanItemScroll.loopHorizontalScrollRect:ClearCells()
- self.nextDanItemScroll.loopHorizontalScrollRect:ClearCells()
- end
- function UIDojoRewardView:OnClickCloseBtn()
- ManagerContainer.LuaUIMgr:ClosePage(self.uiBase.PageId)
- end
- function UIDojoRewardView:OnClickTab(selectedTog,toggleIdx, result)
- if self.curToggleIdx == toggleIdx then
- return
- end
- self.curToggleIdx = toggleIdx
- for i =1, #self.toggles do
- if i ~= (toggleIdx) then
- self.toggles[i].toggle.isOn = false
- self.toggles[i].toggle.interactable = true
- end
- end
- selectedTog.interactable = false
-
- if self.curToggleIdx == 2 then
- self:ShowRankReward()
- elseif self.curToggleIdx == 1 then
- self:ShowDanReward()
- end
- end
- function UIDojoRewardView:ShowDanReward()
- self.danRewardNode:SetActive(true)
- self.rewardItemScroll:SetActive(false)
- local arenaData = ManagerContainer.DataMgr.ArenaData
- -- 设置当前赛季数据
- self.curNode:SetActive(true);
- self.curDanName.text.text = I18N.T(arenaData.danName)
- CommonUtil.LoadIcon(self, arenaData.danIcon, function (sprite)
- self.curDanIcon.image.sprite = sprite
- end)
- CommonUtil.LoopGridViewEleCreateNew(self,
- self.curDanItemScroll.loopHorizontalScrollRect,
- self.curDanItemContent.gridLayoutGroup,arenaData.danReward,0,self,self.OnUpdateItemData)
- -- 设置下一赛季的数据
- if arenaData.nextDanScore == nil or arenaData.nextDanScore == 0 then
- self.nextNode:SetActive(false)
- else
- self.nextNode:SetActive(true)
- self.nextDanName.text.text = I18N.T(arenaData.nextDanName)
- CommonUtil.LoadIcon(self, arenaData.nextDanIcon, function (sprite)
- self.nextDanIcon.image.sprite = sprite
- end)
- CommonUtil.LoopGridViewEleCreateNew(self,
- self.nextDanItemScroll.loopHorizontalScrollRect,
- self.nextDanItemContent.gridLayoutGroup,arenaData.nextDanReward,0,self,self.OnUpdateItemData)
- end
- end
- function UIDojoRewardView:ShowRankReward()
- self.danRewardNode:SetActive(false)
- self.rewardItemScroll:SetActive(true)
- if self.controller.rankRewardList~= nil then
- CommonUtil.LoopGridViewEleCreateNew(self,
- self.rewardItemScroll.loopVerticalScrollRect,
- nil,self.controller.rankRewardList,0,self,self.OnUpdateRankRewardData)
- end
- end
- function UIDojoRewardView:OnUpdateRankRewardData(rankItemLua,idx)
- if rankItemLua == nil then
- return
- end
- local rewardItem = self.controller.rankRewardList[idx+1]
- if rewardItem == nil then
- return
- end
- rankItemLua.rank1:SetActive(false)
- rankItemLua.rank2:SetActive(false)
- rankItemLua.rank3:SetActive(false)
-
- if rewardItem.minLevel == rewardItem.maxLevel then
- rankItemLua.rankVal.text.text = tostring(rewardItem.minLevel)
- if rewardItem.minLevel == 1 then
- rankItemLua.rank1:SetActive(true)
- elseif rewardItem.minLevel == 2 then
- rankItemLua.rank2:SetActive(true)
- elseif rewardItem.minLevel == 3 then
- rankItemLua.rank3:SetActive(true)
- end
- else
- rankItemLua.rankVal.text.text = rewardItem.minLevel .. "-" .. rewardItem.maxLevel
- end
- rankItemLua.bg:SetActive(rewardItem.minLevel<=3)
- rankItemLua.danName.text.text = I18N.T('ZhzWz')
- CommonUtil.LoopGridViewEleCreateNew(self,
- rankItemLua.itemScroll.loopHorizontalScrollRect,
- rankItemLua.itemContent.gridLayoutGroup,rewardItem.itemList,0,self,self.OnUpdateItemData)
- end
- function UIDojoRewardView:OnUpdateItemData(itemLua,idx,item)
- if itemLua~=nil and item~= nil then
- CommonUtil.SetRewardItemData(self,item[1],itemLua,item[2], self.OnClickItem)
- end
- end
- function UIDojoRewardView:OnClickItem(btn,params)
- local logicData = params[0]
- --ManagerContainer.LuaUIMgr:Open(Enum.UIPageName.UIItemTips, item)
- ManagerContainer.LuaUIMgr:OpenTips(logicData)
- end
- function UIDojoRewardView:OnClickClose()
- ManagerContainer.LuaUIMgr:ClosePage(Enum.UIPageName.UIBattleReward)
- end
- return UIDojoRewardView
|