Fixed bugs found in v0.0.2

This commit is contained in:
2025-05-01 21:53:54 +02:00
parent d16792064f
commit fc726cbb37
18 changed files with 737 additions and 694 deletions
+17 -17
View File
@@ -6,16 +6,16 @@
---@field private _red_groups Array<SpearheadGroup>
---@field private _blue_groups Array<SpearheadGroup>
---@field private _cleanup_units table<string, boolean>
---@field private _airbase table?
---@field private _airbase Airbase?
---@field private _initialSide number?
local StageBase = {}
---comment
---@param databaseManager table
---@param databaseManager Database
---@param logger table
---@param airbaseId integer
---@param airbaseName string
---@return StageBase
function StageBase.New(databaseManager, logger, airbaseId)
function StageBase.New(databaseManager, logger, airbaseName)
StageBase.__index = StageBase
local self = setmetatable({}, StageBase)
@@ -27,35 +27,35 @@ function StageBase.New(databaseManager, logger, airbaseId)
self._blue_groups = {}
self._cleanup_units = {}
self._airbase = Spearhead.DcsUtil.getAirbaseById(airbaseId)
self._initialSide = Spearhead.DcsUtil.getStartingCoalition(airbaseId)
self._airbase = Airbase.getByName(airbaseName)
self._initialSide = Spearhead.DcsUtil.getStartingCoalition(self._airbase)
do --init
local redUnitsPos = {}
local blueUnitsPos = {}
do -- fill tables
local redGroups = databaseManager:getRedGroupsAtAirbase(airbaseId)
local redGroups = databaseManager:getRedGroupsAtAirbase(airbaseName)
if redGroups then
for _, groupName in pairs(redGroups) do
local shGroup = Spearhead.classes.stageClasses.Groups.SpearheadGroup.New(groupName)
table.insert(self._red_groups, shGroup)
for _, groupName in pairs(redGroups) do
local shGroup = Spearhead.classes.stageClasses.Groups.SpearheadGroup.New(groupName)
table.insert(self._red_groups, shGroup)
for _, unit in shGroup:GetUnits() do
redUnitsPos[unit:getName()] = unit:getPoint()
for _, unit in pairs(shGroup:GetUnits()) do
redUnitsPos[unit:getName()] = unit:getPoint()
end
shGroup:Destroy()
end
shGroup:Destroy()
end
end
local blueGroups = databaseManager:getBlueGroupsAtAirbase(airbaseId)
local blueGroups = databaseManager:getBlueGroupsAtAirbase(airbaseName)
if blueGroups then
for _, groupName in pairs(blueGroups) do
local shGroup = Spearhead.classes.stageClasses.Groups.SpearheadGroup.New(groupName)
table.insert(self._blue_groups, shGroup)
for _, unit in shGroup:GetUnits() do
for _, unit in pairs(shGroup:GetUnits()) do
blueUnitsPos[unit:getName()] = unit:getPoint()
end