7363298dc1
EN: 1.15.0.134 CN: 1.15.0.133 JP: 1.15.0.137 KR: 1.15.0.139
138 lines
4.3 KiB
Lua
138 lines
4.3 KiB
Lua
local ReengagementCtrl = class("ReengagementCtrl", BaseCtrl)
|
|
local TimerManager = require("GameCore.Timer.TimerManager")
|
|
ReengagementCtrl._mapNodeConfig = {
|
|
svTog = {
|
|
sComponentName = "LoopScrollView"
|
|
},
|
|
trSvTog = {sNodeName = "svTog", sComponentName = "Transform"},
|
|
rtSignin = {
|
|
sComponentName = "RectTransform"
|
|
},
|
|
ctrlSignin = {
|
|
sNodeName = "rtSignin",
|
|
sCtrlName = "Game.UI.Activity.Reengagement.ReengagementSigninCtrl"
|
|
},
|
|
rtTask = {
|
|
sComponentName = "RectTransform"
|
|
},
|
|
ctrlTask = {
|
|
sNodeName = "rtTask",
|
|
sCtrlName = "Game.UI.Activity.Reengagement.ReengagementTaskCtrl"
|
|
},
|
|
rtDoubleDrop = {
|
|
sComponentName = "RectTransform"
|
|
},
|
|
ctrlDoubleDrop = {
|
|
sNodeName = "rtDoubleDrop",
|
|
sCtrlName = "Game.UI.Activity.Reengagement.ReengagementDoubleDropCtrl"
|
|
},
|
|
rtShopMall = {
|
|
sComponentName = "RectTransform"
|
|
},
|
|
ctrlShopMall = {
|
|
sNodeName = "rtShopMall",
|
|
sCtrlName = "Game.UI.Activity.Reengagement.ReengagementMallCtrl"
|
|
},
|
|
rtBDTrial = {
|
|
sComponentName = "RectTransform"
|
|
},
|
|
ctrlBDTrial = {
|
|
sNodeName = "rtBDTrial",
|
|
sCtrlName = "Game.UI.Activity.Reengagement.ReengagementBDTrialCtrl"
|
|
},
|
|
txtEnergyTitle = {
|
|
sComponentName = "TMP_Text",
|
|
sLanguageId = "Energy_Battery_Title"
|
|
},
|
|
txtProgress = {sComponentName = "TMP_Text"},
|
|
imgEnergyBarFill = {
|
|
sComponentName = "RectTransform"
|
|
},
|
|
btnTrialDetail = {
|
|
sComponentName = "UIButton",
|
|
callback = "OnClickTrialDetail"
|
|
},
|
|
ReengagementPreviewPanel = {
|
|
sCtrlName = "Game.UI.Activity.Reengagement.ReengagementBDPreviewCtrl"
|
|
}
|
|
}
|
|
ReengagementCtrl._mapEventConfig = {}
|
|
function ReengagementCtrl:InitTog()
|
|
self._mapNode.svTog:Init(5, self, self.OnGridRefresh, self.OnGridBtnClick)
|
|
end
|
|
function ReengagementCtrl:OnGridRefresh(goGrid, gridIndex)
|
|
local nIndex = gridIndex + 1
|
|
local nInstanceID = goGrid:GetInstanceID()
|
|
if not self.ctrlTog[nInstanceID] then
|
|
self.ctrlTog[nInstanceID] = self:BindCtrlByNode(goGrid, "Game.UI.TemplateEx.TemplateToggleCtrl")
|
|
end
|
|
local mapCfg = ConfigTable.GetUIText("ReengagementTog_" .. nIndex)
|
|
if mapCfg then
|
|
self.ctrlTog[nInstanceID]:SetText(mapCfg)
|
|
end
|
|
self.ctrlTog[nInstanceID]:SetDefault(nIndex == self.nCurTog)
|
|
end
|
|
function ReengagementCtrl:OnGridBtnClick(goGrid, gridIndex)
|
|
local nIndex = gridIndex + 1
|
|
local nInstanceID = goGrid:GetInstanceID()
|
|
if nIndex == self.nCurTog then
|
|
return
|
|
end
|
|
self.ctrlTog[nInstanceID]:SetTrigger(true)
|
|
if self.nCurTog then
|
|
local goSelect = self._mapNode.trSvTog:Find("Viewport/Content/" .. self.nCurTog - 1)
|
|
if goSelect then
|
|
self.ctrlTog[goSelect.gameObject:GetInstanceID()]:SetTrigger(false)
|
|
end
|
|
end
|
|
self.nCurTog = nIndex
|
|
self:SwitchTog()
|
|
end
|
|
function ReengagementCtrl:SwitchTog()
|
|
self._mapNode.rtSignin:SetActive(self.nCurTog == 1)
|
|
self._mapNode.rtTask:SetActive(self.nCurTog == 2)
|
|
self._mapNode.rtDoubleDrop:SetActive(self.nCurTog == 3)
|
|
self._mapNode.rtShopMall:SetActive(self.nCurTog == 4)
|
|
self._mapNode.rtBDTrial:SetActive(self.nCurTog == 5)
|
|
self.ctrlSignin:Refresh(self.nCurTog)
|
|
self.ctrlTask:Refresh(self.nCurTog)
|
|
self.ctrlDoubleDrop:Refresh(self.nCurTog)
|
|
self.ctrlShopMall:Refresh(self.nCurTog)
|
|
self.ctrlBDTrial:Refresh(self.nCurTog)
|
|
end
|
|
local nMaxEnergyBatteryFillerLength = 252
|
|
local nMinEnergyBatteryFillerLength = 15
|
|
function ReengagementCtrl:RefreshEnergyBattery()
|
|
local nEnergyBattery = PlayerData.Base:GetCurEnergyBattery().nEnergyBattery
|
|
local nMaxEnergyBattery = ConfigTable.GetConfigNumber("EnergyBatteryMax")
|
|
NovaAPI.SetTMPText(self._mapNode.txtProgress, nEnergyBattery .. "/" .. nMaxEnergyBattery)
|
|
local nFillerLength = nEnergyBattery / nMaxEnergyBattery * nMaxEnergyBatteryFillerLength
|
|
if nFillerLength > nMaxEnergyBatteryFillerLength then
|
|
nFillerLength = nMaxEnergyBatteryFillerLength
|
|
elseif nFillerLength < nMinEnergyBatteryFillerLength then
|
|
nFillerLength = nMinEnergyBatteryFillerLength
|
|
end
|
|
self._mapNode.imgEnergyBarFill.sizeDelta = Vector2(nFillerLength, self._mapNode.imgEnergyBarFill.sizeDelta.y)
|
|
end
|
|
function ReengagementCtrl:Awake()
|
|
end
|
|
function ReengagementCtrl:FadeIn()
|
|
end
|
|
function ReengagementCtrl:FadeOut()
|
|
end
|
|
function ReengagementCtrl:OnEnable()
|
|
self.nCurTog = 1
|
|
self:SwitchTog()
|
|
self:RefreshEnergyBattery()
|
|
end
|
|
function ReengagementCtrl:OnDisable()
|
|
end
|
|
function ReengagementCtrl:OnDestroy()
|
|
end
|
|
function ReengagementCtrl:OnRelease()
|
|
end
|
|
function ReengagementCtrl:OnClickTrialDetail()
|
|
self.ReengagementPreviewPanel:OpenPanel()
|
|
end
|
|
return ReengagementCtrl
|