custom drawing updates now updated on Stage Change not only on completion (#5)
Publish Release / build (push) Successful in 1m39s

Reviewed-on: #5
Co-authored-by: dutchie031 <timrorije@gmail.com>
This commit was merged in pull request #5.
This commit is contained in:
2026-07-29 17:16:05 +00:00
committed by dutchie031
parent 3ce1b60d09
commit a354022035
3 changed files with 22 additions and 12 deletions
+11
View File
@@ -7,6 +7,17 @@
### Bug Fixes ### 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 ## [0.12.0] 2026-06
Migration to Gitea. <br> Migration to Gitea. <br>
+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()
+1 -1
View File
@@ -1 +1 @@
0.12.0 0.12.1