Major Update - 2.0.0.143
EN: 2.0.0.143 CN: 2.0.0.142 JP: 2.0.0.145 KR: 2.0.0.150
This commit is contained in:
+118
-12
@@ -5,15 +5,20 @@ MallCtrl._mapNodeConfig = {
|
||||
sCtrlName = "Game.UI.TopBarEx.TopBarCtrl"
|
||||
},
|
||||
tog = {
|
||||
nCount = 6,
|
||||
nCount = 8,
|
||||
sComponentName = "UIButton",
|
||||
callback = "OnBtnClick_ChangeSheet"
|
||||
},
|
||||
ctrlTog = {
|
||||
nCount = 6,
|
||||
nCount = 8,
|
||||
sNodeName = "tog",
|
||||
sCtrlName = "Game.UI.TemplateEx.TemplateToggleCtrl"
|
||||
},
|
||||
srTog = {sComponentName = "ScrollRect"},
|
||||
scTog = {
|
||||
sNodeName = "srTog",
|
||||
sComponentName = "UIScrollToClick"
|
||||
},
|
||||
Recommend = {
|
||||
sNodeName = "---Recommend---",
|
||||
sCtrlName = "Game.UI.Mall.MallRecommendCtrl"
|
||||
@@ -38,6 +43,14 @@ MallCtrl._mapNodeConfig = {
|
||||
sNodeName = "---Skin---",
|
||||
sCtrlName = "Game.UI.Mall.MallSkinCtrl"
|
||||
},
|
||||
Furniture = {
|
||||
sNodeName = "---Furniture---",
|
||||
sCtrlName = "Game.UI.Mall.MallFurnitureCtrl"
|
||||
},
|
||||
Activity = {
|
||||
sNodeName = "---Activity---",
|
||||
sCtrlName = "Game.UI.Mall.MallActivityCtrl"
|
||||
},
|
||||
btnCharShard = {
|
||||
sNodeName = "btnCharShard",
|
||||
sComponentName = "UIButton",
|
||||
@@ -47,8 +60,8 @@ MallCtrl._mapNodeConfig = {
|
||||
sNodeName = "---MonthlyCard---",
|
||||
sComponentName = "Animator"
|
||||
},
|
||||
redDotTog = {nCount = 4},
|
||||
redDot_New = {nCount = 6},
|
||||
redDotTog = {nCount = 8},
|
||||
redDot_New = {nCount = 8},
|
||||
btnDailyGift = {
|
||||
sComponentName = "UIButton",
|
||||
callback = "OnBtnClick_DailyGift"
|
||||
@@ -69,7 +82,9 @@ MallCtrl._mapEventConfig = {
|
||||
OpenMallTog = "OnEvent_OpenMallTog",
|
||||
MallChangeTopCoin = "OnEvent_ChangeTopCoin",
|
||||
Mall_Refresh_Reddot = "OnEvent_RefreshReddot",
|
||||
Mall_UpdateMallPackageRedDot = "OnEvent_RefreshReddot"
|
||||
Mall_UpdateMallPackageRedDot = "OnEvent_RefreshReddot",
|
||||
MallActivityChange = "OnEvent_MallActivityChange",
|
||||
MallActivityExpire = "OnEvent_MallActivityExpire"
|
||||
}
|
||||
MallCtrl._mapRedDotConfig = {
|
||||
[RedDotDefine.Mall_Daily] = {sNodeName = "reddotGift"}
|
||||
@@ -78,6 +93,15 @@ function MallCtrl:RegisterRedDot()
|
||||
RedDotManager.RegisterNode(RedDotDefine.Mall_Page_New, {
|
||||
AllEnum.MallToggle.Skin
|
||||
}, self._mapNode.redDot_New[5])
|
||||
RedDotManager.RegisterNode(RedDotDefine.Mall_Page_New, {
|
||||
AllEnum.MallToggle.Furniture
|
||||
}, self._mapNode.redDot_New[7])
|
||||
RedDotManager.RegisterNode(RedDotDefine.Mall_Page, {
|
||||
AllEnum.MallToggle.Activity
|
||||
}, self._mapNode.redDotTog[8])
|
||||
RedDotManager.RegisterNode(RedDotDefine.Mall_Page_New, {
|
||||
AllEnum.MallToggle.Activity
|
||||
}, self._mapNode.redDot_New[8], nil, true)
|
||||
end
|
||||
function MallCtrl:SwitchTog()
|
||||
self._mapNode.Gem.gameObject:SetActive(self._panel.nCurTog == AllEnum.MallToggle.Gem)
|
||||
@@ -86,6 +110,8 @@ function MallCtrl:SwitchTog()
|
||||
self._mapNode.Shop.gameObject:SetActive(self._panel.nCurTog == AllEnum.MallToggle.Shop)
|
||||
self._mapNode.Skin.gameObject:SetActive(self._panel.nCurTog == AllEnum.MallToggle.Skin)
|
||||
self._mapNode.Recommend.gameObject:SetActive(self._panel.nCurTog == AllEnum.MallToggle.Recommend)
|
||||
self._mapNode.Furniture.gameObject:SetActive(self._panel.nCurTog == AllEnum.MallToggle.Furniture)
|
||||
self._mapNode.Activity.gameObject:SetActive(self._panel.nCurTog == AllEnum.MallToggle.Activity)
|
||||
if self._panel.nCurTog == AllEnum.MallToggle.Gem then
|
||||
self._mapNode.Gem:Refresh()
|
||||
self._mapNode.TopBar:CreateCoin({
|
||||
@@ -113,28 +139,84 @@ function MallCtrl:SwitchTog()
|
||||
self._mapNode.TopBar:CreateCoin({
|
||||
AllEnum.CoinItemId.FREESTONE
|
||||
})
|
||||
elseif self._panel.nCurTog == AllEnum.MallToggle.Furniture then
|
||||
self._mapNode.Furniture:ResetTab()
|
||||
self._mapNode.Furniture:Refresh(true)
|
||||
self._mapNode.TopBar:CreateCoin({
|
||||
AllEnum.CoinItemId.Jade,
|
||||
AllEnum.CoinItemId.FREESTONE,
|
||||
AllEnum.CoinItemId.Furniture
|
||||
})
|
||||
elseif self._panel.nCurTog == AllEnum.MallToggle.Recommend then
|
||||
self._mapNode.Recommend:Refresh()
|
||||
self._mapNode.TopBar:CreateCoin({
|
||||
AllEnum.CoinItemId.Jade,
|
||||
AllEnum.CoinItemId.FREESTONE
|
||||
})
|
||||
elseif self._panel.nCurTog == AllEnum.MallToggle.Activity then
|
||||
self._mapNode.Activity:Refresh()
|
||||
self._mapNode.TopBar:CreateCoin({
|
||||
AllEnum.CoinItemId.Jade,
|
||||
AllEnum.CoinItemId.FREESTONE
|
||||
})
|
||||
end
|
||||
self:RegisterRedDot()
|
||||
self:OnEvent_RefreshReddot()
|
||||
end
|
||||
function MallCtrl:RefreshActivityTogText(actData)
|
||||
local sName
|
||||
if actData ~= nil then
|
||||
local mapProductCfg = PlayerData.Mall:GetMallActivityCfgByActId(actData:GetActId())
|
||||
sName = mapProductCfg ~= nil and mapProductCfg.Name or nil
|
||||
end
|
||||
if sName == nil or sName == "" then
|
||||
sName = ConfigTable.GetUIText("Mall_Tog_Package")
|
||||
end
|
||||
local tbCtrlTog = self._mapNode.ctrlTog
|
||||
tbCtrlTog[AllEnum.MallToggle.Activity]:SetText(sName)
|
||||
end
|
||||
function MallCtrl:RefreshActivityTog()
|
||||
local actData = PlayerData.Activity:GetMallActivityData()
|
||||
self.bHasActivity = actData ~= nil
|
||||
self._mapNode.tog[AllEnum.MallToggle.Activity].gameObject:SetActive(self.bHasActivity)
|
||||
self:RefreshActivityTogText(actData)
|
||||
self._mapNode.Activity:SetExpireTimer(actData)
|
||||
PlayerData.Mall:UpdateMallActivityRedDot()
|
||||
if not self.bHasActivity and self._panel.nCurTog == AllEnum.MallToggle.Activity then
|
||||
self._panel.nCurTog = AllEnum.MallToggle.Recommend
|
||||
end
|
||||
end
|
||||
function MallCtrl:ApplyActivityTogChange()
|
||||
local nLastTog = self._panel.nCurTog
|
||||
self:RefreshActivityTog()
|
||||
if nLastTog ~= self._panel.nCurTog then
|
||||
for i = 1, 8 do
|
||||
self._mapNode.ctrlTog[i]:SetDefault(i == self._panel.nCurTog)
|
||||
end
|
||||
self._mapNode.scTog:ScrollToClick(self._mapNode.tog[self._panel.nCurTog].gameObject)
|
||||
self:SwitchTog()
|
||||
self:PlayTogAni()
|
||||
elseif self._panel.nCurTog == AllEnum.MallToggle.Activity then
|
||||
self._mapNode.Activity:Refresh()
|
||||
end
|
||||
end
|
||||
function MallCtrl:PlayTogAni()
|
||||
if self._panel.nCurTog == AllEnum.MallToggle.MonthlyCard then
|
||||
self._mapNode.aniMonthlyCard:Play("MonthlyCard_in")
|
||||
end
|
||||
end
|
||||
function MallCtrl:SetDefaultTog()
|
||||
if self._panel.nCurTog == nil then
|
||||
self._panel.nCurTog = AllEnum.MallToggle.Recommend
|
||||
self:RefreshActivityTog()
|
||||
local nCurTog = self._panel.nCurTog
|
||||
if nCurTog == nil then
|
||||
self._panel.nCurTog = self.bHasActivity and AllEnum.MallToggle.Activity or AllEnum.MallToggle.Recommend
|
||||
end
|
||||
for i = 1, 6 do
|
||||
for i = 1, 8 do
|
||||
self._mapNode.ctrlTog[i]:SetDefault(i == self._panel.nCurTog)
|
||||
end
|
||||
if self._panel.nCurTog == AllEnum.MallToggle.Gem or self._panel.nCurTog == AllEnum.MallToggle.Shop then
|
||||
NovaAPI.SetVerticalNormalizedPosition(self._mapNode.srTog, 0)
|
||||
end
|
||||
self:SwitchTog()
|
||||
local bActive = PlayerData.Mall:GetDailyMallReward()
|
||||
self._mapNode.goGiftOff:SetActive(not bActive)
|
||||
@@ -147,6 +229,8 @@ function MallCtrl:RefreshTogText()
|
||||
self._mapNode.ctrlTog[4]:SetText(ConfigTable.GetUIText("Mall_Tog_Exchange"))
|
||||
self._mapNode.ctrlTog[5]:SetText(ConfigTable.GetUIText("Mall_Tog_Skin"))
|
||||
self._mapNode.ctrlTog[6]:SetText(ConfigTable.GetUIText("Mall_Tog_Recommend"))
|
||||
self._mapNode.ctrlTog[7]:SetText(ConfigTable.GetUIText("Mall_Tog_Furniture"))
|
||||
self:RefreshActivityTogText(PlayerData.Activity:GetMallActivityData())
|
||||
end
|
||||
function MallCtrl:FadeIn(bPlayFadeIn)
|
||||
EventManager.Hit(EventId.SetTransition)
|
||||
@@ -171,13 +255,19 @@ function MallCtrl:OnBtnClick_ChangeSheet(btn, nIndex)
|
||||
self._mapNode.ctrlTog[self._panel.nCurTog]:SetTrigger(false)
|
||||
local lastTog = self._panel.nCurTog
|
||||
if lastTog == AllEnum.MallToggle.Package then
|
||||
local nCurTab = self._mapNode.Package:GetCurTab() or 1
|
||||
PlayerData.Mall:RemovePackageNew(GameEnum.MallItemType.Package, nCurTab)
|
||||
local nCurSort = self._mapNode.Package:GetCurSort()
|
||||
PlayerData.Mall:RemovePackageNew(GameEnum.MallItemType.Package, nCurSort)
|
||||
elseif lastTog == AllEnum.MallToggle.Skin then
|
||||
local nCurTab = self._mapNode.Skin:GetCurTab() or 1
|
||||
PlayerData.Mall:RemovePackageNew(GameEnum.MallItemType.Skin, nCurTab)
|
||||
local nCurSort = self._mapNode.Skin:GetCurSort()
|
||||
PlayerData.Mall:RemovePackageNew(GameEnum.MallItemType.Skin, nCurSort)
|
||||
elseif lastTog == AllEnum.MallToggle.Furniture then
|
||||
local nCurSort = self._mapNode.Furniture:GetCurSort()
|
||||
PlayerData.Mall:RemovePackageNew(GameEnum.MallItemType.Furniture, nCurSort)
|
||||
elseif lastTog == AllEnum.MallToggle.Activity then
|
||||
PlayerData.Mall:RemoveMallActivityNew()
|
||||
end
|
||||
self._panel.nCurTog = nIndex
|
||||
self._mapNode.scTog:ScrollToClick(self._mapNode.tog[self._panel.nCurTog].gameObject)
|
||||
self:SwitchTog()
|
||||
self:PlayTogAni()
|
||||
end
|
||||
@@ -201,8 +291,17 @@ function MallCtrl:OnEvent_ChangeTopCoin(tbCoin)
|
||||
self._mapNode.TopBar:CreateCoin(tbCoin)
|
||||
end
|
||||
function MallCtrl:OnEvent_OpenMallTog(nTog)
|
||||
if nTog == AllEnum.MallToggle.Activity and not self.bHasActivity then
|
||||
return
|
||||
end
|
||||
self:OnBtnClick_ChangeSheet(nil, nTog)
|
||||
end
|
||||
function MallCtrl:OnEvent_MallActivityChange()
|
||||
self:ApplyActivityTogChange()
|
||||
end
|
||||
function MallCtrl:OnEvent_MallActivityExpire()
|
||||
self:ApplyActivityTogChange()
|
||||
end
|
||||
function MallCtrl:OnEvent_RefreshReddot()
|
||||
local bMallFree = RedDotManager.GetValid(RedDotDefine.Mall_Free)
|
||||
if bMallFree then
|
||||
@@ -218,5 +317,12 @@ function MallCtrl:OnEvent_RefreshReddot()
|
||||
else
|
||||
self._mapNode.redDot_New[2]:SetActive(false)
|
||||
end
|
||||
local bActivity = RedDotManager.GetValid(RedDotDefine.Mall_Page, {
|
||||
AllEnum.MallToggle.Activity
|
||||
})
|
||||
local bActivityNew = RedDotManager.GetValid(RedDotDefine.Mall_Page_New, {
|
||||
AllEnum.MallToggle.Activity
|
||||
})
|
||||
self._mapNode.redDot_New[8]:SetActive(bActivityNew and not bActivity)
|
||||
end
|
||||
return MallCtrl
|
||||
|
||||
Reference in New Issue
Block a user