diff --git a/logic/Gaming/Game.cs b/logic/Gaming/Game.cs index 1b44ebc7..7d9f26ca 100755 --- a/logic/Gaming/Game.cs +++ b/logic/Gaming/Game.cs @@ -63,7 +63,7 @@ public long AddPlayer(PlayerInitInfo playerInitInfo) default: return GameObj.invalidID; } - Ship? newShip = shipManager.AddShip(playerInitInfo.teamID, + Ship? newShip = ShipManager.AddShip(playerInitInfo.teamID, playerInitInfo.playerID, playerInitInfo.shipType, teamList[(int)playerInitInfo.teamID].MoneyPool); @@ -95,7 +95,7 @@ public long ActivateShip(long teamID, ShipType shipType, int birthPointIndex = 0 birthPointIndex = teamList[(int)teamID].BirthPointList.Count - 1; XY pos = teamList[(int)teamID].BirthPointList[birthPointIndex]; pos += new XY(((random.Next() & 2) - 1) * 1000, ((random.Next() & 2) - 1) * 1000); - if (ShipManager.ActivateShip(ship, pos)) + if (shipManager.ActivateShip(ship, pos)) { GameLogging.logger.ConsoleLogDebug($"Successfully activated {teamID} {shipType} at {pos}"); return ship.PlayerID; diff --git a/logic/Gaming/ShipManager.cs b/logic/Gaming/ShipManager.cs index 7c15eac2..64b492e1 100755 --- a/logic/Gaming/ShipManager.cs +++ b/logic/Gaming/ShipManager.cs @@ -14,10 +14,9 @@ private class ShipManager(Game game, Map gameMap) { private readonly Game game = game; private readonly Map gameMap = gameMap; - public Ship? AddShip(long teamID, long playerID, ShipType shipType, MoneyPool moneyPool) + public static Ship? AddShip(long teamID, long playerID, ShipType shipType, MoneyPool moneyPool) { Ship newShip = new(GameData.ShipRadius, shipType, moneyPool); - gameMap.Add(newShip); newShip.TeamID.SetROri(teamID); newShip.PlayerID.SetROri(playerID); ShipManagerLogging.logger.ConsoleLogDebug( @@ -32,12 +31,13 @@ private class ShipManager(Game game, Map gameMap) + $"{newShip.WeaponModuleType}"); return newShip; } - public static bool ActivateShip(Ship ship, XY pos) + public bool ActivateShip(Ship ship, XY pos) { if (ship.ShipState != ShipStateType.Deceased) { return false; } + gameMap.Add(ship); ship.ReSetPos(pos); ship.SetShipState(RunningStateType.Null, ShipStateType.Null); ShipManagerLogging.logger.ConsoleLogDebug(