custom drawing updates now updated on Stage Change not only on completion

This commit is contained in:
2026-07-29 11:01:17 +02:00
parent 3ce1b60d09
commit a8c70f7343
+10 -11
View File
@@ -20,7 +20,7 @@ local WaitingStagesByIndex = {}
local currentStage = -99 local currentStage = -99
---@class GlobalStageManager : StageCompleteListener ---@class GlobalStageManager : StageCompleteListener, OnStageChangedListener
---@field private database Database ---@field private database Database
---@field private logger Logger ---@field private logger Logger
---@field private stageConfig StageConfig ---@field private stageConfig StageConfig
@@ -47,15 +47,7 @@ function GlobalStageManager.NewAndStart(database, stageConfig, logLevel, spawnMa
logger:warn("Spearhead will not automatically progress stages due to the given settings. If you manually have implemented this, please ignore this message") logger:warn("Spearhead will not automatically progress stages due to the given settings. If you manually have implemented this, please ignore this message")
end end
---@type OnStageChangedListener Events.AddStageNumberChangedListener(self)
local OnStageNumberChangedListener = {
OnStageNumberChanged = function (self, number)
currentStage = number
end
}
Events.AddStageNumberChangedListener(OnStageNumberChangedListener)
for _, stageName in pairs(database:getStagezoneNames()) do for _, stageName in pairs(database:getStagezoneNames()) do
logger:debug("Found stage zone with name: " .. stageName) logger:debug("Found stage zone with name: " .. stageName)
@@ -208,13 +200,20 @@ function GlobalStageManager:OnStageComplete(stage)
if anyWaiting == false then if anyWaiting == false then
local newStageNumber = currentStage + 1 local newStageNumber = currentStage + 1
self:UpdateDrawings(newStageNumber)
self.logger:debug("Setting next stage to: " .. tostring(newStageNumber)) self.logger:debug("Setting next stage to: " .. tostring(newStageNumber))
Events.PublishStageNumberChanged(newStageNumber) Events.PublishStageNumberChanged(newStageNumber)
end end
end end
end end
---@public
function GlobalStageManager:OnStageNumberChanged(stageNumber)
self.logger:debug("Stage number changed to: " .. tostring(stageNumber))
currentStage = stageNumber
self:UpdateDrawings(stageNumber)
end
---@private ---@private
function GlobalStageManager:UpdateDrawings(stageNumber) function GlobalStageManager:UpdateDrawings(stageNumber)
local drawings = self.database:getCustomDrawings() local drawings = self.database:getCustomDrawings()