5e0d58cfad
EN: 1.2.0.60 CN: 1.2.0.61 JP: 1.2.0.63 KR: 1.2.0.67
97 lines
2.8 KiB
Lua
97 lines
2.8 KiB
Lua
local AchievementCtrl = class("AchievementCtrl", BaseCtrl)
|
|
AchievementCtrl._mapNodeConfig = {
|
|
animRoot = {
|
|
sNodeName = "----SafeAreaRoot----",
|
|
sComponentName = "Animator"
|
|
},
|
|
btnAchievement = {
|
|
sComponentName = "UIButton",
|
|
nCount = 5,
|
|
callback = "OnBtnClick_Detail"
|
|
},
|
|
TopBar = {
|
|
sNodeName = "TopBarPanel",
|
|
sCtrlName = "Game.UI.TopBarEx.TopBarCtrl"
|
|
},
|
|
rtHomePage = {
|
|
sCtrlName = "Game.UI.AchievementEx.AchievementHomepageCtrl"
|
|
},
|
|
rtDetail = {
|
|
sCtrlName = "Game.UI.AchievementEx.AchievementDetailCtrl"
|
|
}
|
|
}
|
|
AchievementCtrl._mapEventConfig = {
|
|
[EventId.UIBackConfirm] = "OnEvent_Back",
|
|
[EventId.UIHomeConfirm] = "OnEvent_BackHome"
|
|
}
|
|
AchievementCtrl._mapRedDotConfig = {}
|
|
function AchievementCtrl:Awake()
|
|
end
|
|
function AchievementCtrl:FadeIn()
|
|
EventManager.Hit(EventId.SetTransition)
|
|
self._mapNode.animRoot:Play("AchievementPanel_in")
|
|
end
|
|
function AchievementCtrl:FadeOut()
|
|
end
|
|
function AchievementCtrl:OnEnable()
|
|
self._mapNode.rtHomePage.gameObject:SetActive(false)
|
|
self._mapNode.rtDetail.gameObject:SetActive(false)
|
|
local callback = function()
|
|
self._mapNode.rtHomePage:OnEvent_ReceiveReward()
|
|
self._mapNode.rtDetail:UpdateData()
|
|
if self._panel.nDetailIdx ~= nil and self._panel.nDetailIdx > 0 then
|
|
self._mapNode.rtDetail.gameObject:SetActive(true)
|
|
self._mapNode.rtDetail:OpenDetail(self._panel.nDetailIdx)
|
|
self.bDetail = true
|
|
else
|
|
self._mapNode.rtHomePage.gameObject:SetActive(true)
|
|
end
|
|
PlayerData.Achievement:CheckReddot()
|
|
end
|
|
PlayerData.Achievement:SendAchievementInfoReq(callback)
|
|
self.bDetail = false
|
|
self:RegisterReddot()
|
|
end
|
|
function AchievementCtrl:OnDisable()
|
|
end
|
|
function AchievementCtrl:OnDestroy()
|
|
end
|
|
function AchievementCtrl:OnRelease()
|
|
end
|
|
function AchievementCtrl:OnBtnClick_Detail(btn, nIdx)
|
|
self._mapNode.rtDetail:OpenDetail(nIdx)
|
|
self._mapNode.rtHomePage.gameObject:SetActive(false)
|
|
self._mapNode.rtDetail.gameObject:SetActive(true)
|
|
self.bDetail = true
|
|
self._panel.nDetailIdx = nIdx
|
|
end
|
|
function AchievementCtrl:RegisterReddot(...)
|
|
for k, v in pairs(self._mapNode.btnAchievement) do
|
|
local goReddot = v.transform:Find("AnimRoot/reddot").gameObject
|
|
RedDotManager.RegisterNode(RedDotDefine.Achievement_Tab, k, goReddot)
|
|
end
|
|
end
|
|
function AchievementCtrl:OnEvent_Back(nPanelId)
|
|
if self._panel._nPanelId ~= nPanelId then
|
|
return
|
|
end
|
|
if self.bDetail then
|
|
self._mapNode.rtHomePage.gameObject:SetActive(true)
|
|
self._mapNode.rtDetail.gameObject:SetActive(false)
|
|
self.bDetail = false
|
|
self._panel.nDetailIdx = 0
|
|
self._mapNode.animRoot:Play("AchievementPanel_in")
|
|
else
|
|
self._panel.nDetailIdx = 0
|
|
EventManager.Hit(EventId.CloesCurPanel)
|
|
end
|
|
end
|
|
function AchievementCtrl:OnEvent_BackHome(nPanelId)
|
|
if self._panel._nPanelId ~= nPanelId then
|
|
return
|
|
end
|
|
self._panel.nDetailIdx = 0
|
|
PanelManager.Home()
|
|
end
|
|
return AchievementCtrl
|