5e0d58cfad
EN: 1.2.0.60 CN: 1.2.0.61 JP: 1.2.0.63 KR: 1.2.0.67
112 lines
3.0 KiB
Lua
112 lines
3.0 KiB
Lua
local GachaPreviewCtrl = class("GachaPreviewCtrl", BaseCtrl)
|
|
local Actor2DManager = require("Game.Actor2D.Actor2DManager")
|
|
GachaPreviewCtrl._mapNodeConfig = {
|
|
rtCharinfo = {
|
|
sCtrlName = "Game.UI.TemplateEx.TemplateCharInfoCtrl"
|
|
},
|
|
TopBarPanel = {
|
|
sNodeName = "TopBarPanel",
|
|
sCtrlName = "Game.UI.TopBarEx.TopBarCtrl"
|
|
},
|
|
RimgL2d = {sComponentName = "RawImage"},
|
|
btnSkill = {
|
|
sComponentName = "UIButton",
|
|
callback = "OnBtnClick_Skill"
|
|
},
|
|
btnPerk = {
|
|
sComponentName = "UIButton",
|
|
callback = "OnBtnClick_Perk"
|
|
},
|
|
btnHeartStone = {
|
|
sComponentName = "UIButton",
|
|
callback = "OnBtnClick_HeartStone"
|
|
},
|
|
TMPSkill = {
|
|
sComponentName = "TMP_Text",
|
|
nCount = 2,
|
|
sLanguageId = "SelectMember_Skill"
|
|
},
|
|
TMPPerk = {
|
|
sComponentName = "TMP_Text",
|
|
nCount = 2,
|
|
sLanguageId = "Perk_Exclusive"
|
|
},
|
|
TMPHeartStone = {
|
|
sComponentName = "TMP_Text",
|
|
nCount = 2,
|
|
sLanguageId = "HeartStone"
|
|
},
|
|
imgTab = {nCount = 3},
|
|
rtSkillList = {
|
|
sCtrlName = "Game.UI.GachaEx.GachaPreview.SkillListCtrl"
|
|
},
|
|
rtExPerkList = {
|
|
sCtrlName = "Game.UI.GachaEx.GachaPreview.PerkListCtrl"
|
|
},
|
|
rtHeartStoneList = {
|
|
sCtrlName = "Game.UI.GachaEx.GachaPreview.HeartStoneListCtrl"
|
|
}
|
|
}
|
|
GachaPreviewCtrl._mapEventConfig = {}
|
|
function GachaPreviewCtrl:Awake()
|
|
end
|
|
function GachaPreviewCtrl:FadeIn()
|
|
end
|
|
function GachaPreviewCtrl:FadeOut()
|
|
end
|
|
function GachaPreviewCtrl:OnEnable()
|
|
self.curTab = 1
|
|
local tbParam = self:GetPanelParam()
|
|
self.nCharId = tbParam[1]
|
|
if self.nCharId == nil then
|
|
return
|
|
end
|
|
self._mapNode.rtSkillList:Refresh(self.nCharId)
|
|
self._mapNode.rtCharinfo:Refresh({
|
|
nLevel = self:CalCharMaxLevel(self.nCharId)
|
|
}, ConfigTable.GetData_Character(self.nCharId))
|
|
self._mapNode.rtSkillList.gameObject:SetActive(true)
|
|
self._mapNode.rtExPerkList:SetShow(false)
|
|
self._mapNode.rtHeartStoneList.gameObject:SetActive(false)
|
|
for i = 1, 3 do
|
|
self._mapNode.imgTab[i]:SetActive(i == self.curTab)
|
|
end
|
|
local mapCharCfgData = ConfigTable.GetData_Character(self.nCharId)
|
|
Actor2DManager.SetActor2D(self:GetPanelId(), self._mapNode.RimgL2d, self.nCharId, mapCharCfgData.AdvanceSkinId)
|
|
end
|
|
function GachaPreviewCtrl:CalCharMaxLevel(nCharId)
|
|
local nMaxLevel = 0
|
|
local mapCharCfgData = ConfigTable.GetData_Character(nCharId)
|
|
local forEach = function(mapData)
|
|
if mapData.Grade == mapCharCfgData.Grade and tonumber(mapData.LvLimit) > nMaxLevel then
|
|
nMaxLevel = tonumber(mapData.LvLimit)
|
|
end
|
|
end
|
|
ForEachTableLine(DataTable.CharRaritySequence, forEach)
|
|
return nMaxLevel
|
|
end
|
|
function GachaPreviewCtrl:OnDisable()
|
|
Actor2DManager.UnsetActor2D()
|
|
end
|
|
function GachaPreviewCtrl:OnDestroy()
|
|
end
|
|
function GachaPreviewCtrl:OnRelease()
|
|
end
|
|
function GachaPreviewCtrl:OnBtnClick_Skill()
|
|
if self.curTab == 1 then
|
|
return
|
|
end
|
|
self.curTab = 1
|
|
for i = 1, 3 do
|
|
self._mapNode.imgTab[i]:SetActive(i == self.curTab)
|
|
end
|
|
self._mapNode.rtSkillList.gameObject:SetActive(true)
|
|
self._mapNode.rtExPerkList:SetShow(false)
|
|
self._mapNode.rtHeartStoneList.gameObject:SetActive(false)
|
|
end
|
|
function GachaPreviewCtrl:OnBtnClick_Perk()
|
|
end
|
|
function GachaPreviewCtrl:OnBtnClick_HeartStone()
|
|
end
|
|
return GachaPreviewCtrl
|