recurring command updates fix

This commit is contained in:
2025-05-07 18:01:36 +02:00
parent 4de7887c35
commit f08cee4314
5 changed files with 35 additions and 23 deletions
@@ -2,6 +2,7 @@
--- ZoneMission is missions that are defined by zones in the ME
---@class ZoneMission : Mission, OnUnitLostListener
---@field private _state MissionState
---@field private _missionGroups MissionGroups
local ZoneMission = {}
@@ -137,9 +138,6 @@ function ZoneMission:UpdateState(checkHealth, messageIfDone)
if checkHealth == nil then checkHealth = false end
if messageIfDone == false then messageIfDone = true end
if self._state == "COMPLETED" then
return
end
if checkHealth == true then
local function unitAliveState(unitName)
@@ -254,6 +252,11 @@ function ZoneMission:SpawnActive()
self._logger:info("Activating " .. self.name)
if self._state == "COMPLETED" or self._state == "ACTIVE" then
self._logger:debug("Mission already completed, not spawning")
return
end
self._state = "ACTIVE"
for _, group in pairs(self._missionGroups.groups) do
group:Spawn()
@@ -6,10 +6,10 @@
---@field missionType MissionType
---@field missionTypeDisplay string
---@field priority MissionPriority
---@field missionBriefing string
---@field location Vec2?
---@field code string
---@field protected state MissionState
---@field protected _state MissionState
---@field protected _missionBriefing string
---@field getState fun(self: Mission): MissionState @Get the mission state
---@field protected _logger Logger
---@field protected _database Database
@@ -37,10 +37,10 @@ function Mission.newSuper(self, zoneName, missionName, missionType, missionBrief
self.name = missionName
self.missionType = missionType
self.priority = priority
self.state = "NEW"
self._state = "NEW"
self._logger = logger
self._database = database
self.missionBriefing = missionBriefing
self._missionBriefing = missionBriefing
self.code = tostring(database:GetNewMissionCode())
self._completeListeners = {}
@@ -55,7 +55,7 @@ end
---@return MissionState
function Mission:getState()
return self.state
return self._state
end
--region PUBLIC