using System.Collections.Generic; using WingsEmu.Game.Ship; using WingsEmu.Game.Ship.Configuration; namespace WingsEmu.Plugins.BasicImplementations.Ship; public class ShipManager : IShipManager { private readonly List _ships = new(); private readonly Dictionary _shipsByShipType = new(); public void AddShip(ShipInstance shipInstance) { if (_shipsByShipType.TryAdd(shipInstance.ShipType, shipInstance)) { _ships.Add(shipInstance); } } public ShipInstance GetShip(ShipType shipType) => _shipsByShipType.TryGetValue(shipType, out ShipInstance shipInstance) ? shipInstance : null; public IReadOnlyCollection GetShips() => _ships; }