Update - 1.13.0.124
EN: 1.13.0.124 CN: 1.13.0.124 JP: 1.13.0.128 KR: 1.13.0.130
This commit is contained in:
@@ -0,0 +1,84 @@
|
||||
local SoldierRecommendCtrl = class("SoldierRecommendCtrl", BaseCtrl)
|
||||
SoldierRecommendCtrl._mapNodeConfig = {
|
||||
Topbar = {
|
||||
sNodeName = "TopBarPanel",
|
||||
sCtrlName = "Game.UI.TopBarEx.TopBarCtrl"
|
||||
},
|
||||
btnHome = {},
|
||||
txt_tips = {
|
||||
sComponentName = "TMP_Text",
|
||||
sLanguageId = "Soldier_Recommend_Tips"
|
||||
},
|
||||
sv_recommend = {
|
||||
sComponentName = "LoopScrollView"
|
||||
}
|
||||
}
|
||||
SoldierRecommendCtrl._mapEventConfig = {}
|
||||
SoldierRecommendCtrl._mapRedDotConfig = {}
|
||||
function SoldierRecommendCtrl:Awake()
|
||||
local param = self:GetPanelParam()
|
||||
if type(param) == "table" then
|
||||
self.bInSoldier = param[1]
|
||||
end
|
||||
self.bInSoldier = self.bInSoldier or false
|
||||
self.animator = self.gameObject:GetComponent("Animator")
|
||||
end
|
||||
function SoldierRecommendCtrl:OnEnable()
|
||||
self.tbRecommendCellCtrl = {}
|
||||
self.tbRecommendData = {}
|
||||
self:InitData()
|
||||
EventManager.Hit("SoldierRecommendPanel_Open")
|
||||
local wait = function()
|
||||
coroutine.yield(CS.UnityEngine.WaitForEndOfFrame())
|
||||
self._mapNode.btnHome.gameObject:SetActive(not self.bInSoldier)
|
||||
end
|
||||
cs_coroutine.start(wait)
|
||||
end
|
||||
function SoldierRecommendCtrl:OnDisable()
|
||||
for _, v in ipairs(self.tbRecommendCellCtrl) do
|
||||
self:UnbindCtrlByNode(v)
|
||||
end
|
||||
self.tbRecommendCellCtrl = nil
|
||||
EventManager.Hit("SoldierRecommendPanel_Close")
|
||||
end
|
||||
function SoldierRecommendCtrl:InitData()
|
||||
local tbRecommendData = PlayerData.SoldierData:GetAllRecommendData()
|
||||
if tbRecommendData == nil then
|
||||
return
|
||||
end
|
||||
for _, v in ipairs(tbRecommendData) do
|
||||
table.insert(self.tbRecommendData, v)
|
||||
end
|
||||
local nApplyData = PlayerData.SoldierData:GetRecommendData(self.bInSoldier)
|
||||
if nApplyData ~= nil then
|
||||
table.sort(self.tbRecommendData, function(a, b)
|
||||
if a.nRecommendId == nApplyData.nRecommendId then
|
||||
return true
|
||||
end
|
||||
if b.nRecommendId == nApplyData.nRecommendId then
|
||||
return false
|
||||
end
|
||||
return a.nRecommendId < b.nRecommendId
|
||||
end)
|
||||
end
|
||||
self._mapNode.sv_recommend:SetAnim(0.08)
|
||||
self._mapNode.sv_recommend:Init(#self.tbRecommendData, self, self.OnRecommendRefreshGrid, self.OnRecommendGridBtnClick, false)
|
||||
end
|
||||
function SoldierRecommendCtrl:OnRecommendRefreshGrid(goGrid, gridIndex)
|
||||
local nIndex = gridIndex + 1
|
||||
local mapRecommendData = self.tbRecommendData[nIndex]
|
||||
local nInstanceID = goGrid:GetInstanceID()
|
||||
if not self.tbRecommendCellCtrl[nInstanceID] then
|
||||
self.tbRecommendCellCtrl[nInstanceID] = self:BindCtrlByNode(goGrid, "Game.UI.Soldier.Recommend.SoldierRecommendCellCtrl")
|
||||
end
|
||||
self.tbRecommendCellCtrl[nInstanceID]:SetItemData(mapRecommendData, self.bInSoldier)
|
||||
end
|
||||
function SoldierRecommendCtrl:OnRecommendGridBtnClick(goGrid, gridIndex)
|
||||
local nIndex = gridIndex + 1
|
||||
local mapRecommendData = self.tbRecommendData[nIndex]
|
||||
self.animator:Play("SoldierRecommendPanel_out")
|
||||
self:AddTimer(1, 0.26, function()
|
||||
EventManager.Hit(EventId.OpenPanel, PanelId.SoldierRecommendDetailPanel, mapRecommendData, self.bInSoldier)
|
||||
end, true, true, true)
|
||||
end
|
||||
return SoldierRecommendCtrl
|
||||
Reference in New Issue
Block a user