2025-06-04 05:02:57 +08:00

127 lines
3.2 KiB
Plaintext

autoImport("DojoRewardCell")
DojoResultPopUp = class("DojoResultPopUp", ContainerView)
DojoResultPopUp.ViewType = UIViewType.NormalLayer
function DojoResultPopUp:Init()
local resultData = self.viewdata.viewdata
if resultData then
self.dojoid = resultData.dojoid
self.passtype = resultData.passtype
self:InitView()
end
end
function DojoResultPopUp:InitView()
self.name = self:FindComponent("Name", UILabel)
self.tipName = self:FindComponent("TipName" , UILabel)
self.countDownLabel = self:FindComponent("CountDownLabel" , UILabel)
self.emptyTip = self:FindGO("EmptyTip")
self.anim1 = self:FindGO("Anim1")
self.anim2 = self:FindGO("Anim2")
self.anim3 = self:FindGO("Anim3")
local grid = self:FindGO("Grid"):GetComponent(UIGrid)
self.rewardCtl = UIGridListCtrl.new(grid, DojoRewardCell, "DojoRewardCell")
self:AddViewEvts()
self:UpdateInfo()
TimeTickManager.Me():CreateTick(0,1000,self.RefreshTime,self)
end
function DojoResultPopUp:AddViewEvts()
self:AddListenEvt(ServiceEvent.PlayerMapChange , self.CloseSelf)
end
function DojoResultPopUp:UpdateInfo()
local dojoData = Table_Guild_Dojo[self.dojoid]
if dojoData then
if dojoData.Name then
self.name.text = dojoData.Name
else
errorLog("DojoResultPopUp UpdateInfo dojoData.Name = nil")
end
if dojoData.Raid then
local mapRaid = Table_MapRaid[dojoData.Raid]
if mapRaid then
self.endWait = mapRaid.EndWait
end
else
errorLog("DojoResultPopUp UpdateInfo dojoData.Raid = nil")
end
end
local items = DojoProxy.Instance:GetReward()
LogUtility.InfoFormat("DojoResultPopUp #items : {0}",tostring(#items))
self.rewardCtl:ResetDatas(items)
if self.passtype == DojoProxy.PassType.First then
self.tipName.text = ZhString.Dojo_Reward
self.emptyTip:SetActive(false)
elseif self.passtype == DojoProxy.PassType.Help then
self.tipName.text = ZhString.Dojo_HelpReward
self.emptyTip:SetActive(false)
elseif self.passtype == DojoProxy.PassType.Normal then
self.tipName.text = ZhString.Dojo_Reward
self.emptyTip:SetActive(true)
end
end
function DojoResultPopUp:RefreshTime()
self.countDownLabel.text = string.format(ZhString.Dojo_Secend , tostring(self.endWait))
self.endWait = self.endWait - 1
if self.endWait < 0 then
self.endWait = 0
end
end
function DojoResultPopUp:PlayAnim()
self.anim1:SetActive(false)
self.anim2:SetActive(false)
self.anim3:SetActive(false)
self.anim1Call = LeanTween.delayedCall(1.5, function ()
self.anim1Call = nil
self.anim1:SetActive(true)
self.anim2Call = LeanTween.delayedCall(0.3, function ()
self.anim2Call = nil
self.anim2:SetActive(true)
self.anim3Call = LeanTween.delayedCall(0.3, function ()
self.anim3Call = nil
self.anim3:SetActive(true)
end)
end)
end)
end
function DojoResultPopUp:OnEnter()
DojoResultPopUp.super.OnEnter(self)
self:CameraRotateToMe()
self:PlayAnim()
end
function DojoResultPopUp:OnExit()
TimeTickManager.Me():ClearTick(self)
if self.anim1Call then
self.anim1Call:cancel()
self.anim1Call = nil
end
if self.anim2Call then
self.anim2Call:cancel()
self.anim2Call = nil
end
if self.anim3Call then
self.anim3Call:cancel()
self.anim3Call = nil
end
DojoResultPopUp.super.OnExit(self)
self:CameraReset()
end