Initial version - 1.2.0.60
EN: 1.2.0.60 CN: 1.2.0.61 JP: 1.2.0.63 KR: 1.2.0.67
This commit is contained in:
@@ -0,0 +1,85 @@
|
||||
local LoginRewardPopUpCtrl = class("LoginRewardPopUpCtrl", BaseCtrl)
|
||||
local GameResourceLoader = require("Game.Common.Resource.GameResourceLoader")
|
||||
local ResTypeAny = GameResourceLoader.ResType.Any
|
||||
LoginRewardPopUpCtrl._mapNodeConfig = {
|
||||
imgBlurredBg = {},
|
||||
imgBlurMask = {},
|
||||
rtContent = {
|
||||
sNodeName = "---Content---",
|
||||
sComponentName = "RectTransform"
|
||||
}
|
||||
}
|
||||
LoginRewardPopUpCtrl._mapEventConfig = {
|
||||
RefreshLoginRewardPanel = "OnEvent_RefreshLoginRewardPanel"
|
||||
}
|
||||
LoginRewardPopUpCtrl._mapRedDotConfig = {}
|
||||
local sPrefabFolder = "UI_Activity/%s.prefab"
|
||||
function LoginRewardPopUpCtrl:ShowLoginReward()
|
||||
if self.tbActivityList == nil or #self.tbActivityList == 0 then
|
||||
EventManager.Hit(EventId.ClosePanel, PanelId.LoginRewardPopUp)
|
||||
if nil ~= self.callback then
|
||||
self.callback()
|
||||
end
|
||||
return
|
||||
end
|
||||
local actData = table.remove(self.tbActivityList, 1)
|
||||
self._panel.nActId = actData:GetActId()
|
||||
self._panel.actData = PlayerData.Activity:GetActivityDataById(self._panel.nActId)
|
||||
if nil ~= self._panel.actData then
|
||||
self:RefreshActContent()
|
||||
end
|
||||
end
|
||||
function LoginRewardPopUpCtrl:RefreshActContent()
|
||||
self:ResetActContent()
|
||||
local mapActCfg = ConfigTable.GetData("LoginRewardControl", self._panel.nActId)
|
||||
if mapActCfg ~= nil then
|
||||
local sPrefabPath = string.format(sPrefabFolder, mapActCfg.PopUpUIAssets)
|
||||
local goObj = self:CreatePrefabInstance(sPrefabPath, self._mapNode.rtContent)
|
||||
local sCtrlPath = string.format("Game.UI.Activity.LoginReward.%s.LoginRewardPopUpCtrl_01", "_" .. self._panel.nActId)
|
||||
self.curPopUpCtrl = self:BindCtrlByNode(goObj, sCtrlPath)
|
||||
self.curPopUpCtrl:RefreshActData()
|
||||
end
|
||||
end
|
||||
function LoginRewardPopUpCtrl:ResetActContent()
|
||||
if nil ~= self.curPopUpCtrl then
|
||||
destroy(self.curPopUpCtrl.gameObject)
|
||||
self:UnbindCtrlByNode(self.curPopUpCtrl)
|
||||
end
|
||||
self.curPopUpCtrl = nil
|
||||
end
|
||||
function LoginRewardPopUpCtrl:Awake()
|
||||
self:ResetActContent()
|
||||
local tbParam = self:GetPanelParam()
|
||||
if type(tbParam) == "table" then
|
||||
self.tbActivityList = tbParam[1]
|
||||
self.callback = tbParam[2]
|
||||
end
|
||||
end
|
||||
function LoginRewardPopUpCtrl:OnEnable()
|
||||
self._mapNode.rtContent.gameObject:SetActive(false)
|
||||
self._mapNode.imgBlurMask.gameObject:SetActive(false)
|
||||
self._mapNode.imgBlurredBg.gameObject:SetActive(true)
|
||||
local wait = function()
|
||||
coroutine.yield(CS.UnityEngine.WaitForEndOfFrame())
|
||||
self._mapNode.imgBlurMask.gameObject:SetActive(true)
|
||||
self._mapNode.rtContent.gameObject:SetActive(true)
|
||||
self:ShowLoginReward()
|
||||
end
|
||||
cs_coroutine.start(wait)
|
||||
end
|
||||
function LoginRewardPopUpCtrl:OnDisable()
|
||||
end
|
||||
function LoginRewardPopUpCtrl:OnDestroy()
|
||||
end
|
||||
function LoginRewardPopUpCtrl:OnEvent_RefreshLoginRewardPanel()
|
||||
if self.curPopUpCtrl == nil then
|
||||
self:ShowLoginReward()
|
||||
else
|
||||
self._panel.actData = PlayerData.Activity:GetActivityDataById(self._panel.nActId)
|
||||
self.curPopUpCtrl:RefreshActData()
|
||||
local nAnimTime = self.curPopUpCtrl:PlayOutAnim()
|
||||
self:AddTimer(1, nAnimTime, "ShowLoginReward", true, true, true)
|
||||
EventManager.Hit(EventId.TemporaryBlockInput, nAnimTime)
|
||||
end
|
||||
end
|
||||
return LoginRewardPopUpCtrl
|
||||
Reference in New Issue
Block a user