5e0d58cfad
EN: 1.2.0.60 CN: 1.2.0.61 JP: 1.2.0.63 KR: 1.2.0.67
181 lines
6.6 KiB
Lua
181 lines
6.6 KiB
Lua
local LevelMenuResourceCtrl = class("LevelMenuResourceCtrl", BaseCtrl)
|
|
local WwiseAudioMgr = CS.WwiseAudioManager.Instance
|
|
LevelMenuResourceCtrl._mapNodeConfig = {
|
|
btnEquipment = {
|
|
sComponentName = "UIButton",
|
|
callback = "OnBtnClick_Equipment"
|
|
},
|
|
TMPEquipTitle = {
|
|
sComponentName = "TMP_Text",
|
|
sLanguageId = "LevelMenu_Equipment"
|
|
},
|
|
TMPEquipTitle2 = {
|
|
sComponentName = "TMP_Text",
|
|
sLanguageId = "LevelMenu_SEquipment"
|
|
},
|
|
LockEquipment = {},
|
|
TMPCondEquipment = {sComponentName = "TMP_Text"},
|
|
btnSkill = {
|
|
sComponentName = "UIButton",
|
|
callback = "OnBtnClick_Skill"
|
|
},
|
|
TMPSkillTitle = {
|
|
sComponentName = "TMP_Text",
|
|
sLanguageId = "LevelMenu_Skill"
|
|
},
|
|
TMPSkillTitle2 = {
|
|
sComponentName = "TMP_Text",
|
|
sLanguageId = "LevelMenu_SSkill"
|
|
},
|
|
LockSkill = {},
|
|
TMPCondSkill = {sComponentName = "TMP_Text"},
|
|
btnRegion = {
|
|
sComponentName = "UIButton",
|
|
callback = "OnBtnClick_RogueBoss"
|
|
},
|
|
TMPChallengeTitle = {
|
|
sComponentName = "TMP_Text",
|
|
sLanguageId = "LevelMenu_Region"
|
|
},
|
|
TMPChallengeTitle2 = {
|
|
sComponentName = "TMP_Text",
|
|
sLanguageId = "LevelMenu_SRegion"
|
|
},
|
|
LockRegion = {},
|
|
TMPCondRegion = {sComponentName = "TMP_Text"},
|
|
redDotRegion = {},
|
|
btnTimes = {
|
|
sComponentName = "UIButton",
|
|
callback = "OnBtnClick_DailyInstance"
|
|
},
|
|
TMPTimesTitle = {
|
|
sComponentName = "TMP_Text",
|
|
sLanguageId = "LevelMenu_Time"
|
|
},
|
|
TMPTimesTitle2 = {
|
|
sComponentName = "TMP_Text",
|
|
sLanguageId = "LevelMenu_STime"
|
|
},
|
|
LockTimes = {},
|
|
TMPCondTimes = {sComponentName = "TMP_Text"},
|
|
rtEnergyBarFill = {
|
|
sComponentName = "RectTransform"
|
|
},
|
|
btnAddEnergy = {
|
|
sComponentName = "UIButton",
|
|
callback = "OnBtnClick_AddEnergy"
|
|
},
|
|
TMPDailyInstanceEnergy = {sComponentName = "TMP_Text"},
|
|
imgChooseTimes = {},
|
|
imgChooseSkill = {},
|
|
imgChooseRegion = {},
|
|
imgChooseEquipment = {}
|
|
}
|
|
LevelMenuResourceCtrl._mapEventConfig = {}
|
|
LevelMenuResourceCtrl._mapRedDotConfig = {
|
|
[RedDotDefine.Map_RogueBoss] = {
|
|
sNodeName = "redDotRegion"
|
|
}
|
|
}
|
|
local totalEnergyBarLength = 390
|
|
local totalEnergyBarHeight = 22
|
|
function LevelMenuResourceCtrl:RefreshChooseImg(nType)
|
|
self._mapNode.imgChooseTimes.gameObject:SetActive(nType == GameEnum.OpenFuncType.DailyInstance)
|
|
self._mapNode.imgChooseSkill.gameObject:SetActive(nType == GameEnum.OpenFuncType.SkillInstance)
|
|
self._mapNode.imgChooseRegion.gameObject:SetActive(nType == GameEnum.OpenFuncType.RegionBoss)
|
|
self._mapNode.imgChooseEquipment.gameObject:SetActive(nType == GameEnum.OpenFuncType.CharGemInstance)
|
|
end
|
|
function LevelMenuResourceCtrl:InitResource(nType)
|
|
self:RefreshChooseImg(nType)
|
|
self:RefreshEnergy()
|
|
end
|
|
function LevelMenuResourceCtrl:RefreshEnergy()
|
|
local nMaxEnergy = ConfigTable.GetConfigNumber("EnergyMaxLimit")
|
|
local nCurEnergy = PlayerData.Base:GetCurEnergy().nEnergy
|
|
NovaAPI.SetTMPText(self._mapNode.TMPDailyInstanceEnergy, nCurEnergy .. "/" .. nMaxEnergy)
|
|
local nPercent = nCurEnergy / nMaxEnergy
|
|
if 1 < nPercent then
|
|
nPercent = 1
|
|
end
|
|
self._mapNode.rtEnergyBarFill.sizeDelta = Vector2(nPercent * totalEnergyBarLength, totalEnergyBarHeight)
|
|
end
|
|
function LevelMenuResourceCtrl:RefreshFuncOpen()
|
|
if not PlayerData.Base:CheckFunctionUnlock(GameEnum.OpenFuncType.DailyInstance) then
|
|
local mapLockCfgData = ConfigTable.GetData("OpenFunc", GameEnum.OpenFuncType.DailyInstance)
|
|
self._mapNode.LockTimes:SetActive(true)
|
|
NovaAPI.SetTMPText(self._mapNode.TMPCondTimes, UTILS.ParseParamDesc(mapLockCfgData.Tips, mapLockCfgData))
|
|
else
|
|
self._mapNode.LockTimes:SetActive(false)
|
|
end
|
|
if not PlayerData.Base:CheckFunctionUnlock(GameEnum.OpenFuncType.RegionBoss) then
|
|
local mapLockCfgData = ConfigTable.GetData("OpenFunc", GameEnum.OpenFuncType.RegionBoss)
|
|
self._mapNode.LockRegion:SetActive(true)
|
|
NovaAPI.SetTMPText(self._mapNode.TMPCondRegion, UTILS.ParseParamDesc(mapLockCfgData.Tips, mapLockCfgData))
|
|
else
|
|
self._mapNode.LockRegion:SetActive(false)
|
|
end
|
|
if not PlayerData.Base:CheckFunctionUnlock(GameEnum.OpenFuncType.SkillInstance) then
|
|
local mapLockCfgData = ConfigTable.GetData("OpenFunc", GameEnum.OpenFuncType.SkillInstance)
|
|
self._mapNode.LockSkill:SetActive(true)
|
|
NovaAPI.SetTMPText(self._mapNode.TMPCondSkill, UTILS.ParseParamDesc(mapLockCfgData.Tips, mapLockCfgData))
|
|
else
|
|
self._mapNode.LockSkill:SetActive(false)
|
|
end
|
|
if not PlayerData.Base:CheckFunctionUnlock(GameEnum.OpenFuncType.CharGemInstance) then
|
|
local mapLockCfgData = ConfigTable.GetData("OpenFunc", GameEnum.OpenFuncType.CharGemInstance)
|
|
self._mapNode.LockEquipment:SetActive(true)
|
|
NovaAPI.SetTMPText(self._mapNode.TMPCondEquipment, UTILS.ParseParamDesc(mapLockCfgData.Tips, mapLockCfgData))
|
|
else
|
|
self._mapNode.LockEquipment:SetActive(false)
|
|
end
|
|
end
|
|
function LevelMenuResourceCtrl:Awake()
|
|
self:RefreshChooseImg(0)
|
|
end
|
|
function LevelMenuResourceCtrl:OnEnable()
|
|
end
|
|
function LevelMenuResourceCtrl:OnDisable()
|
|
end
|
|
function LevelMenuResourceCtrl:OnDestroy()
|
|
end
|
|
function LevelMenuResourceCtrl:OnBtnClick_RogueBoss()
|
|
local callback = function()
|
|
self:RefreshChooseImg(GameEnum.OpenFuncType.RegionBoss)
|
|
EventManager.Hit("SelectResourceInstance", GameEnum.OpenFuncType.RegionBoss)
|
|
WwiseAudioMgr:PlaySound("ui_level_daily_tog")
|
|
end
|
|
PlayerData.Base:CheckFunctionBtn(GameEnum.OpenFuncType.RegionBoss, callback, "ui_systerm_locked")
|
|
end
|
|
function LevelMenuResourceCtrl:OnBtnClick_DailyInstance(btn)
|
|
local callback = function()
|
|
self:RefreshChooseImg(GameEnum.OpenFuncType.DailyInstance)
|
|
EventManager.Hit("SelectResourceInstance", GameEnum.OpenFuncType.DailyInstance)
|
|
WwiseAudioMgr:PlaySound("ui_level_daily_tog")
|
|
end
|
|
PlayerData.Base:CheckFunctionBtn(GameEnum.OpenFuncType.DailyInstance, callback, "ui_systerm_locked")
|
|
end
|
|
function LevelMenuResourceCtrl:OnBtnClick_Equipment(btn)
|
|
local callbackCheck = function()
|
|
self:RefreshChooseImg(GameEnum.OpenFuncType.CharGemInstance)
|
|
WwiseAudioMgr:PlaySound("ui_level_daily_tog")
|
|
EventManager.Hit("SelectResourceInstance", GameEnum.OpenFuncType.CharGemInstance)
|
|
end
|
|
PlayerData.Base:CheckFunctionBtn(GameEnum.OpenFuncType.CharGemInstance, callbackCheck, "ui_systerm_locked")
|
|
end
|
|
function LevelMenuResourceCtrl:OnBtnClick_Skill(btn)
|
|
local callbackCheck = function()
|
|
self:RefreshChooseImg(GameEnum.OpenFuncType.SkillInstance)
|
|
WwiseAudioMgr:PlaySound("ui_level_daily_tog")
|
|
EventManager.Hit("SelectResourceInstance", GameEnum.OpenFuncType.SkillInstance)
|
|
end
|
|
PlayerData.Base:CheckFunctionBtn(GameEnum.OpenFuncType.SkillInstance, callbackCheck, "ui_systerm_locked")
|
|
end
|
|
function LevelMenuResourceCtrl:OnBtnClick_AddEnergy(btn)
|
|
self._panel._nFadeInType = 2
|
|
local callback = function()
|
|
EventManager.Hit(EventId.ClosePanel, PanelId.EnergyBuy)
|
|
end
|
|
EventManager.Hit(EventId.OpenPanel, PanelId.EnergyBuy, AllEnum.EnergyPanelType.Main, {}, true, callback)
|
|
end
|
|
return LevelMenuResourceCtrl
|