summaryrefslogtreecommitdiff
path: root/objects
diff options
context:
space:
mode:
authorEltrac <hi@guhub.cn>2025-03-14 14:44:17 +0800
committerEltrac <hi@guhub.cn>2025-03-14 14:44:17 +0800
commitf0472a953b2e3222600f91ed003208278f44dea4 (patch)
tree8ecc2bb14e98c6fc3770a9acc6b4341fa6bf84d7 /objects
parent28275c7d8b841e66fd641dbd7f7ad45844ecf394 (diff)
refactor: move beforeClear actions
Diffstat (limited to 'objects')
-rw-r--r--objects/room.lua31
1 files changed, 1 insertions, 30 deletions
diff --git a/objects/room.lua b/objects/room.lua
index aacbe30..96d6438 100644
--- a/objects/room.lua
+++ b/objects/room.lua
@@ -3,7 +3,7 @@ local roomData = require "data.roomData"
local roomNames = require "data.roomNames"
local roomType = require "data.roomType"
local Door = require "objects.door"
-local Enemy = require "objects.enemy"
+local MobSpawn = require "logic.MobSpawn"
local audio = require "utils.audio"
local mapHelper = require "utils.mapHelper"
local translator = require "i18n.translator"
@@ -227,35 +227,6 @@ function Room:addWalls()
return walls
end
-function Room:spawnWave(wave)
- for _, enemyName in ipairs(wave) do
- local enemy = Enemy:new(enemyName, "anyDoor")
- table.insert(self.objects.enemies, enemy)
- enemy:placeInRoom(self)
- end
-end
-
-function Room:beforeClear()
- local data = roomData[self.dataName]
- -- if waves are set, handle waves
- if data.waves then
- if not self.currentWave then
- self.currentWave = 1
- -- spawn next wave
- elseif self.currentWave <= #data.waves then
- local waveData = data.waves[self.currentWave]
- speaker.speak(translator.T(waveData.message or "waveStart"))
- self:spawnWave(waveData.mobs)
- self.currentWave = self.currentWave + 1
- else
- self.currentWave = nil
- return true -- return true if all waves are cleared
- end
- return false
- end
-
- return true
-end
function Room:init()
-- handle objects that need to be placed