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

85 lines
3.2 KiB
Lua

local MainBattleMenuCtrl = class("MainBattleMenuCtrl", BaseCtrl)
local GamepadUIManager = require("GameCore.Module.GamepadUIManager")
local AdventureModuleHelper = CS.AdventureModuleHelper
MainBattleMenuCtrl._mapNodeConfig = {
canvas_group = {
sComponentName = "CanvasGroup"
},
trMiniMapBg = {sComponentName = "Transform"},
btnMiniMap = {
sComponentName = "ButtonEx",
callback = "OnBtn_MiniMap"
},
rawImgMiniMap = {sComponentName = "RawImage"},
btnPause = {
sComponentName = "NaviButton",
callback = "OnBtn_Pause"
},
btnFullMap = {
sComponentName = "ButtonEx",
callback = "OnBtn_FullMap"
},
trFullMap = {sNodeName = "btnFullMap", sComponentName = "Transform"},
rawImgFullMap = {sComponentName = "RawImage"}
}
MainBattleMenuCtrl._mapEventConfig = {
InputEnable = "OnEvent_InputEnable",
MainBattleMenuBtnPauseActive = "OnEvent_MainBattleMenuBtnPauseActive",
RegionBoss_Success = "OnEvent_RegionBossSuccess",
Region_Boss_PlayerDied = "OnEvent_RegionBossPlayerDied"
}
local bOpenMiniMap = false
function MainBattleMenuCtrl:OnEnable()
if bOpenMiniMap == true then
AdventureModuleHelper.SetMiniMapFeatureActive(true)
self._mapNode.trMiniMapBg.localScale = Vector3.one
self._mapNode.trFullMap.localScale = Vector3.zero
NovaAPI.SetTexture(self._mapNode.rawImgMiniMap, AdventureModuleHelper.GetMiniMapRenderTexture())
NovaAPI.SetTexture(self._mapNode.rawImgFullMap, AdventureModuleHelper.GetMapRenderTexture())
AdventureModuleHelper.SetMapCameraActive(false)
end
GamepadUIManager.AddGamepadUINode("BattleMenu", self:GetGamepadUINode())
end
function MainBattleMenuCtrl:OnDisable()
if bOpenMiniMap == true then
NovaAPI.SetTexture(self._mapNode.rawImgMiniMap, nil)
NovaAPI.SetTexture(self._mapNode.rawImgFullMap, nil)
end
end
function MainBattleMenuCtrl:OnBtn_Pause()
EventManager.Hit("BattlePause")
EventManager.Hit(EventId.PasueAvgBubble, true)
end
function MainBattleMenuCtrl:OnBtn_MiniMap()
if bOpenMiniMap == true then
EventManager.Hit(EventId.BattleDashboardVisible, false)
self._mapNode.trMiniMapBg.localScale = Vector3.zero
self._mapNode.trFullMap.localScale = Vector3.one
AdventureModuleHelper.SetMapCameraActive(true)
end
end
function MainBattleMenuCtrl:OnBtn_FullMap()
if bOpenMiniMap == true then
EventManager.Hit(EventId.BattleDashboardVisible, true)
self._mapNode.trMiniMapBg.localScale = Vector3.one
self._mapNode.trFullMap.localScale = Vector3.zero
AdventureModuleHelper.SetMapCameraActive(false)
end
end
function MainBattleMenuCtrl:OnEvent_InputEnable(bEnable)
NovaAPI.SetCanvasGroupAlpha(self._mapNode.canvas_group, bEnable == true and 1 or 0)
NovaAPI.SetCanvasGroupInteractable(self._mapNode.canvas_group, bEnable == true)
NovaAPI.SetCanvasGroupBlocksRaycasts(self._mapNode.canvas_group, bEnable == true)
self._mapNode.btnPause.interactable = bEnable == true
end
function MainBattleMenuCtrl:OnEvent_MainBattleMenuBtnPauseActive(bActive)
self._mapNode.btnPause.gameObject:SetActive(bActive)
end
function MainBattleMenuCtrl:OnEvent_RegionBossSuccess()
self._mapNode.btnPause.gameObject:SetActive(false)
end
function MainBattleMenuCtrl:OnEvent_RegionBossPlayerDied()
self._mapNode.btnPause.gameObject:SetActive(false)
end
return MainBattleMenuCtrl