5e0d58cfad
EN: 1.2.0.60 CN: 1.2.0.61 JP: 1.2.0.63 KR: 1.2.0.67
114 lines
4.3 KiB
Lua
114 lines
4.3 KiB
Lua
local SkillInstanceRoomInfoCtrl = class("SkillInstanceRoomInfoCtrl", BaseCtrl)
|
|
SkillInstanceRoomInfoCtrl._mapNodeConfig = {
|
|
Shelock = {
|
|
sCtrlName = "Game.UI.SkillInstanceRoomInfo.SkillInstanceShelock.SkillInstanceShelock"
|
|
},
|
|
Slime = {
|
|
sCtrlName = "Game.UI.SkillInstanceRoomInfo.SkillInstanceSlime.SkillInstanceSlimeCtrl"
|
|
},
|
|
BossChallenge = {
|
|
sCtrlName = "Game.UI.SkillInstanceRoomInfo.SkillInstanceExp.SkillInstanceExp"
|
|
},
|
|
rootAnim = {
|
|
sNodeName = "----SafeAreaRoot----",
|
|
sComponentName = "Animator"
|
|
},
|
|
Title = {},
|
|
imgTitle = {sComponentName = "Image"},
|
|
imgTitle1 = {sComponentName = "Image"},
|
|
TMPSubTitle = {sComponentName = "TMP_Text"},
|
|
EdgeMask = {},
|
|
canvasGroup = {
|
|
sNodeName = "----SafeAreaRoot----",
|
|
sComponentName = "CanvasGroup"
|
|
}
|
|
}
|
|
SkillInstanceRoomInfoCtrl._mapEventConfig = {
|
|
OpenSkillInstanceRoomInfo = "OnEvent_OpenUI",
|
|
SkillInstanceLevelEnd = "OnEvent_CloseUI",
|
|
InputEnable = "OnEvent_InputEnable",
|
|
SkillInstanceBattleEnd = "OnEvent_BattleEnd"
|
|
}
|
|
function SkillInstanceRoomInfoCtrl:Awake()
|
|
end
|
|
function SkillInstanceRoomInfoCtrl:FadeIn()
|
|
end
|
|
function SkillInstanceRoomInfoCtrl:FadeOut()
|
|
end
|
|
function SkillInstanceRoomInfoCtrl:OnEnable()
|
|
self._mapNode.Title:SetActive(false)
|
|
self._mapNode.EdgeMask:SetActive(false)
|
|
self._mapNode.Shelock.gameObject:SetActive(false)
|
|
self._mapNode.Slime.gameObject:SetActive(false)
|
|
self.bBattleEnd = true
|
|
end
|
|
function SkillInstanceRoomInfoCtrl:OnDisable()
|
|
end
|
|
function SkillInstanceRoomInfoCtrl:OnDestroy()
|
|
end
|
|
function SkillInstanceRoomInfoCtrl:OnRelease()
|
|
end
|
|
function SkillInstanceRoomInfoCtrl:OnEvent_OpenUI(nFloorId, nLevelId)
|
|
local mapFloorCfgData = ConfigTable.GetData("SkillInstanceFloor", nFloorId)
|
|
local mapLevelCfgData = ConfigTable.GetData("SkillInstance", nLevelId)
|
|
if mapLevelCfgData.Type == 1 then
|
|
self:SetAtlasSprite(self._mapNode.imgTitle, "05_language", "zs_vestige_title_15")
|
|
self:SetAtlasSprite(self._mapNode.imgTitle1, "05_language", "zs_vestige_title_15")
|
|
elseif mapLevelCfgData.Type == 2 then
|
|
self:SetAtlasSprite(self._mapNode.imgTitle, "05_language", "zs_vestige_title_16")
|
|
self:SetAtlasSprite(self._mapNode.imgTitle1, "05_language", "zs_vestige_title_16")
|
|
elseif mapLevelCfgData.Type == 3 then
|
|
self:SetAtlasSprite(self._mapNode.imgTitle, "05_language", "zs_vestige_title_17")
|
|
self:SetAtlasSprite(self._mapNode.imgTitle1, "05_language", "zs_vestige_title_17")
|
|
end
|
|
if mapFloorCfgData.StarConditionType == 1 then
|
|
self._mapNode.Shelock.gameObject:SetActive(true)
|
|
self._mapNode.Shelock:StartEvent(nFloorId, 2, nLevelId)
|
|
elseif mapFloorCfgData.StarConditionType == 2 then
|
|
self._mapNode.Slime.gameObject:SetActive(true)
|
|
self._mapNode.Slime:StartEvent(nFloorId, 2, nLevelId)
|
|
elseif mapFloorCfgData.StarConditionType == 3 then
|
|
self._mapNode.BossChallenge.gameObject:SetActive(true)
|
|
self._mapNode.BossChallenge:StartEvent(nFloorId, 2, nLevelId)
|
|
end
|
|
self._mapNode.rootAnim:Play("FRRoomInfo_in")
|
|
NovaAPI.SetTMPText(self._mapNode.TMPSubTitle, mapLevelCfgData.Desc)
|
|
NovaAPI.SetImageNativeSize(self._mapNode.imgTitle)
|
|
NovaAPI.SetImageNativeSize(self._mapNode.imgTitle1)
|
|
local ShowTitleCallback = function()
|
|
CS.AdventureModuleHelper.ResumeLogic()
|
|
self.bBattleEnd = false
|
|
EventManager.Hit("ShowOrHideBattleDash", true)
|
|
self._mapNode.Title:SetActive(false)
|
|
self._mapNode.EdgeMask:SetActive(false)
|
|
end
|
|
local wait = function()
|
|
coroutine.yield(CS.UnityEngine.WaitForEndOfFrame())
|
|
self.bBattleEnd = true
|
|
EventManager.Hit("ShowOrHideBattleDash", false)
|
|
EventManager.Hit(EventId.TemporaryBlockInput, 2)
|
|
CS.AdventureModuleHelper.PauseLogic()
|
|
self._mapNode.Title:SetActive(true)
|
|
self._mapNode.EdgeMask:SetActive(true)
|
|
self:AddTimer(1, 2, ShowTitleCallback, true, true, true)
|
|
end
|
|
cs_coroutine.start(wait)
|
|
end
|
|
function SkillInstanceRoomInfoCtrl:OnEvent_CloseUI()
|
|
self._mapNode.Shelock:LevelEnd()
|
|
self._mapNode.Slime:LevelEnd()
|
|
self._mapNode.BossChallenge:LevelEnd()
|
|
end
|
|
function SkillInstanceRoomInfoCtrl:OnEvent_InputEnable(bEnable)
|
|
if self.bBattleEnd == true then
|
|
return
|
|
end
|
|
NovaAPI.SetCanvasGroupAlpha(self._mapNode.canvasGroup, bEnable == true and 1 or 0)
|
|
NovaAPI.SetCanvasGroupInteractable(self._mapNode.canvasGroup, bEnable == true)
|
|
NovaAPI.SetCanvasGroupBlocksRaycasts(self._mapNode.canvasGroup, bEnable == true)
|
|
end
|
|
function SkillInstanceRoomInfoCtrl:OnEvent_BattleEnd()
|
|
self.bBattleEnd = true
|
|
end
|
|
return SkillInstanceRoomInfoCtrl
|