UGCProjects/GZJ/Script/gamemode/Action_ActivateHangUpRoom.lua
2025-01-08 22:46:12 +08:00

29 lines
972 B
Lua

local Action_ActivateHangUpRoom = {
}
function Action_ActivateHangUpRoom:Execute(...)
local GameState = UGCGameSystem.GameState
if not UE.IsValid(GameState) then
return false
end
local SpawnerClass = UE.LoadClass(BPClassPath.MonsterSpawner)
if UE.IsValid(SpawnerClass) == false then
UE.LogError("[Action_ActivateHangUpRoom][Execute] SpawnerClass invalid")
return false
end
local FoundedSpawners = totable(GameplayStatics.GetAllActorsOfClass(self, SpawnerClass, {}))
for _, Spawner in pairs(FoundedSpawners) do
local SpawnerType = Spawner:GetSpawnerType()
if SpawnerType == EMonsterSpawnerType.HangUpRoom and Spawner.TargetPlayerKey > 0 then
Spawner:StartSpawnHangupMonster(10)
UE.Log("[Action_ActivateHangUpRoom][Execute] SetActivated: Spawner[%s]", KismetSystemLibrary.GetObjectName(Spawner))
end
end
return true
end
return Action_ActivateHangUpRoom