Files
SL1900 5e0d58cfad Initial version - 1.2.0.60
EN: 1.2.0.60
CN: 1.2.0.61
JP: 1.2.0.63
KR: 1.2.0.67
2025-12-03 01:00:00 +09:00

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