From a354022035695a638e011d3e737655420899e7f2 Mon Sep 17 00:00:00 2001 From: dutchie031 Date: Wed, 29 Jul 2026 17:16:05 +0000 Subject: [PATCH] custom drawing updates now updated on Stage Change not only on completion (#5) Reviewed-on: https://git.dutchie031.com/Spearhead/spearhead/pulls/5 Co-authored-by: dutchie031 --- RELEASENOTES.md | 11 ++++++++++ .../stageClasses/GlobalStageManager.lua | 21 +++++++++---------- version.txt | 2 +- 3 files changed, 22 insertions(+), 12 deletions(-) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index ebc0efe..217113a 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -7,6 +7,17 @@ ### Bug Fixes + +### [0.12.1] 2026-07 + +### Breaking Changes + +### New Features + +### Bug Fixes + +- Fixed stage drawing to only be checked when a stage completed. Now done on stage number changed. + ## [0.12.0] 2026-06 Migration to Gitea.
diff --git a/src/classes/stageClasses/GlobalStageManager.lua b/src/classes/stageClasses/GlobalStageManager.lua index 140ca47..ad232a3 100644 --- a/src/classes/stageClasses/GlobalStageManager.lua +++ b/src/classes/stageClasses/GlobalStageManager.lua @@ -20,7 +20,7 @@ local WaitingStagesByIndex = {} local currentStage = -99 ----@class GlobalStageManager : StageCompleteListener +---@class GlobalStageManager : StageCompleteListener, OnStageChangedListener ---@field private database Database ---@field private logger Logger ---@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") end - ---@type OnStageChangedListener - local OnStageNumberChangedListener = { - OnStageNumberChanged = function (self, number) - currentStage = number - end - } - - - Events.AddStageNumberChangedListener(OnStageNumberChangedListener) + Events.AddStageNumberChangedListener(self) for _, stageName in pairs(database:getStagezoneNames()) do logger:debug("Found stage zone with name: " .. stageName) @@ -208,13 +200,20 @@ function GlobalStageManager:OnStageComplete(stage) if anyWaiting == false then local newStageNumber = currentStage + 1 - self:UpdateDrawings(newStageNumber) self.logger:debug("Setting next stage to: " .. tostring(newStageNumber)) Events.PublishStageNumberChanged(newStageNumber) end end end +---@public +function GlobalStageManager:OnStageNumberChanged(stageNumber) + self.logger:debug("Stage number changed to: " .. tostring(stageNumber)) + currentStage = stageNumber + + self:UpdateDrawings(stageNumber) +end + ---@private function GlobalStageManager:UpdateDrawings(stageNumber) local drawings = self.database:getCustomDrawings() diff --git a/version.txt b/version.txt index d33c3a2..aac2dac 100644 --- a/version.txt +++ b/version.txt @@ -1 +1 @@ -0.12.0 \ No newline at end of file +0.12.1 \ No newline at end of file