local UIMonopolyRewardTip = UIViewClass() local EventSystem = require('Event/EventSystem') ----------------------------- 系统函数 ----------------------------- function UIMonopolyRewardTip:OnCreated() self.rewardParams = nil self.leftItemId = nil self.rightItemId = nil end function UIMonopolyRewardTip:OnOpened(context) self.uieffect:PlayUIEffect() if context and context.isRoundReward then UIUtils.SetLabelText(self.lab, Const_IDS.IDS_Monopoly_FinishLoopReward) else UIUtils.SetLabelText(self.lab, Const_IDS.IDS_DrawCard_Title_Congratulations) end local leftItemObj = self.Item_Left.gameObject.transform.parent local rightItemObj = self.Item_Right.gameObject.transform.parent UIUtils.SetActive(leftItemObj, false) UIUtils.SetActive(self.line, false) UIUtils.SetActive(rightItemObj, false) UIUtils.SetActive(self.scroll_Reward_Pass.gameObject, false) self.rewardParams = CTL.Monopoly.GetRewardParams() if self.rewardParams.roundRewards and #self.rewardParams.roundRewards > 0 then UIUtils.SetActive(leftItemObj, true) self.leftItemId = self.rewardParams.roundRewards[1].ItemId UTL.Item.SetItemCell(self.Item_Left, self.rewardParams.roundRewards[1].ItemId, self.rewardParams.roundRewards[1].ItemCount) else local hasPassReward = false if self.rewardParams.passRewards and #self.rewardParams.passRewards > 0 then hasPassReward = true UIUtils.SetActive(leftItemObj, true) self.leftItemId = self.rewardParams.passRewards[1].ItemId UTL.Item.SetItemCell(self.Item_Left, self.rewardParams.passRewards[1].ItemId, self.rewardParams.passRewards[1].ItemCount) end local hasStepReward = false if self.rewardParams.stepRewards and #self.rewardParams.stepRewards > 0 then hasStepReward = true if #self.rewardParams.stepRewards == 1 then UIUtils.SetActive(rightItemObj, true) self.rightItemId = self.rewardParams.stepRewards[1].ItemId UTL.Item.SetItemCell(self.Item_Right, self.rewardParams.stepRewards[1].ItemId, self.rewardParams.stepRewards[1].ItemCount) else UIUtils.SetActive(self.scroll_Reward_Pass.gameObject, true) if self.scroll_Reward_Pass.Count > 0 then self.scroll_Reward_Pass:ClearCells() end for _, v in ipairs (self.rewardParams.stepRewards) do if v.ItemId > 0 and v.ItemCount > 0 then self.scroll_Reward_Pass:AddData(v, 0) end end end end UIUtils.SetActive(self.line, hasPassReward and hasStepReward) end CTL.Sound.PlayGameSound("UI_congratulation") end function UIMonopolyRewardTip:OnBackButtonPressed() self:OnButtonClicked(self.event_Bottom) end function UIMonopolyRewardTip:OnButtonClicked(comp) if comp == self.event_Bottom then self:CloseView() elseif comp == self.Item_Left.event_Click and self.leftItemId then UTL.ItemTips.ShowCommonTipsById(self.leftItemId) elseif comp == self.Item_Right.event_Click and self.rightItemId then UTL.ItemTips.ShowCommonTipsById(self.rightItemId) end end function UIMonopolyRewardTip:OnUIAnimationStoped() end function UIMonopolyRewardTip:OnCellInit(scrollRect, index, cellTable, data) if scrollRect == self.scroll_Reward_Pass then UTL.Item.SetItemCell(cellTable.item, data.ItemId, data.ItemCount) end end function UIMonopolyRewardTip:OnCellClicked(scrollRect, index, cellTable, target, data) if scrollRect == self.scroll_Reward_Pass then if target == cellTable.item.event_Click then UTL.ItemTips.ShowCommonTipsById(data.ItemId) end end end function UIMonopolyRewardTip:OnClosed() if not self.rewardParams.roundRewards then EventSystem.Dispatch(EventID.UI_Monopoly_PlayNewRoundRewardEffect) end end ------------------------------------------------------------------- return UIMonopolyRewardTip