Fixed bugs found in v0.0.2
This commit is contained in:
@@ -43,23 +43,16 @@
|
||||
--- @field protected OnPostBlueActivated fun(self:Stage)?
|
||||
local Stage = {}
|
||||
|
||||
Stage.__index = Stage
|
||||
|
||||
local stageDrawingId = 100
|
||||
|
||||
---comment
|
||||
---@param database Database
|
||||
---@param stageConfig StageConfig
|
||||
---@param logger any
|
||||
---@param initData StageInitData
|
||||
---@param missionPriority MissionPriority
|
||||
---@return Stage
|
||||
function Stage.New(database, stageConfig, logger, initData, missionPriority)
|
||||
function Stage:superNew(database, stageConfig, logger, initData, missionPriority)
|
||||
|
||||
logger:debug("[BaseStage] Initiating stage with name: " .. initData.stageZoneName)
|
||||
|
||||
local SpearheadGroup = Spearhead.classes.stageClasses.Groups.SpearheadGroup
|
||||
|
||||
Stage.__index = Stage
|
||||
local o = {}
|
||||
local self = setmetatable(o, Stage)
|
||||
|
||||
self.zoneName = initData.stageZoneName
|
||||
self.stageNumber = initData.stageNumber
|
||||
self._isActive = false
|
||||
@@ -148,10 +141,10 @@ function Stage.New(database, stageConfig, logger, initData, missionPriority)
|
||||
mission:AddMissionCompleteListener(self)
|
||||
end
|
||||
|
||||
local airbaseIds = database:getAirbaseIdsInStage(self.zoneName)
|
||||
if airbaseIds ~= nil and type(airbaseIds) == "table" then
|
||||
for _, airbaseId in pairs(airbaseIds) do
|
||||
local airbase = Spearhead.classes.stageClasses.SpecialZones.StageBase.New(database, logger, airbaseId)
|
||||
local airbaseNames = database:getAirbaseNamesInStage(self.zoneName)
|
||||
if airbaseNames ~= nil and type(airbaseNames) == "table" then
|
||||
for _, airbaseName in pairs(airbaseNames) do
|
||||
local airbase = Spearhead.classes.stageClasses.SpecialZones.StageBase.New(database, logger, airbaseName)
|
||||
table.insert(self._db.airbases, airbase)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -2,6 +2,10 @@
|
||||
---@class ExtraStage : Stage
|
||||
local ExtraStage = {}
|
||||
|
||||
ExtraStage.__index = ExtraStage
|
||||
local Stage = Spearhead.classes.stageClasses.Stages.BaseStage.Stage
|
||||
setmetatable(ExtraStage, Stage)
|
||||
|
||||
---comment
|
||||
---@param database Database
|
||||
---@param stageConfig StageConfig
|
||||
@@ -10,20 +14,15 @@ local ExtraStage = {}
|
||||
---@return ExtraStage
|
||||
function ExtraStage.New(database, stageConfig, logger, initData)
|
||||
|
||||
-- "Import"
|
||||
local Stage = Spearhead.classes.stageClasses.Stages.BaseStage.Stage
|
||||
setmetatable(ExtraStage, Stage)
|
||||
|
||||
ExtraStage.__index = ExtraStage
|
||||
local self = Stage.New(database, stageConfig, logger, initData, "secondary") --[[@as ExtraStage]]
|
||||
setmetatable(self, ExtraStage)
|
||||
local self = setmetatable({}, { __index = ExtraStage }) --[[@as ExtraStage]]
|
||||
self:superNew(database, stageConfig, logger, initData)
|
||||
|
||||
self.OnPostBlueActivated = function (selfStage)
|
||||
selfStage:MarkStage("GRAY")
|
||||
end
|
||||
|
||||
self.OnPostStageComplete = function (selfStage)
|
||||
self:ActivateBlueStage()
|
||||
selfStage:ActivateBlueStage()
|
||||
end
|
||||
|
||||
return self
|
||||
|
||||
@@ -2,6 +2,10 @@
|
||||
---@class PrimaryStage : Stage
|
||||
local PrimaryStage = {}
|
||||
|
||||
PrimaryStage.__index = PrimaryStage
|
||||
local Stage = Spearhead.classes.stageClasses.Stages.BaseStage.Stage
|
||||
setmetatable(PrimaryStage, Stage)
|
||||
|
||||
---comment
|
||||
---@param database Database
|
||||
---@param stageConfig StageConfig
|
||||
@@ -10,14 +14,10 @@ local PrimaryStage = {}
|
||||
---@return PrimaryStage
|
||||
function PrimaryStage.New(database, stageConfig, logger, initData)
|
||||
|
||||
-- "Import"
|
||||
local Stage = Spearhead.classes.stageClasses.Stages.BaseStage.Stage
|
||||
setmetatable(PrimaryStage, Stage)
|
||||
PrimaryStage.__index = PrimaryStage
|
||||
setmetatable(PrimaryStage, {__index = Stage})
|
||||
local self = setmetatable({}, { __index = PrimaryStage }) --[[@as PrimaryStage]]
|
||||
self:superNew(database, stageConfig, logger, initData)
|
||||
return self
|
||||
|
||||
local o = Stage.New(database, stageConfig, logger, initData, "primary") --[[@as PrimaryStage]]
|
||||
return o
|
||||
end
|
||||
|
||||
if not Spearhead.classes then Spearhead.classes = {} end
|
||||
|
||||
@@ -4,6 +4,9 @@
|
||||
---@field private _startTime number
|
||||
local WaitingStage = {}
|
||||
|
||||
WaitingStage.__index = WaitingStage
|
||||
local Stage = Spearhead.classes.stageClasses.Stages.BaseStage.Stage
|
||||
setmetatable(WaitingStage, Stage)
|
||||
|
||||
---@class WaitingStageInitData : StageInitData
|
||||
---@field waitingSeconds integer
|
||||
@@ -17,14 +20,8 @@ local WaitingStageInitData = {}
|
||||
---@return WaitingStage
|
||||
function WaitingStage.New(database, stageConfig, logger, initData)
|
||||
|
||||
-- "Import"
|
||||
local Stage = Spearhead.classes.stageClasses.Stages.BaseStage.Stage
|
||||
setmetatable(WaitingStage, Stage)
|
||||
WaitingStage.__index = WaitingStage
|
||||
setmetatable(WaitingStage, {__index = Stage})
|
||||
|
||||
local self = Stage.New(database, stageConfig, logger, initData, "primary") --[[@as WaitingStage]]
|
||||
setmetatable(self, WaitingStage)
|
||||
local self = setmetatable({}, { __index = WaitingStage }) --[[@as WaitingStage]]
|
||||
self:superNew(database, stageConfig, logger, initData)
|
||||
|
||||
self._waitTimeSeconds = 5
|
||||
if initData.waitingSeconds and initData.waitingSeconds > 5 then self._waitTimeSeconds = initData.waitingSeconds end
|
||||
|
||||
Reference in New Issue
Block a user