using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Catamaran { internal class MapsCollection { /// /// Словарь (хранилище) с картами /// readonly Dictionary> _mapStorages; /// /// Возвращение списка названий карт /// public List Keys => _mapStorages.Keys.ToList(); /// /// Ширина окна отрисовки /// private readonly int _pictureWidth; /// /// Высота окна отрисовки /// private readonly int _pictureHeight; /// /// Конструктор /// /// /// public MapsCollection(int pictureWidth, int pictureHeight) { _mapStorages = new Dictionary>(); _pictureWidth = pictureWidth; _pictureHeight = pictureHeight; } /// /// Добавление карты /// /// Название карты /// Карта public void AddMap(string name, AbstractMap map) { if (!_mapStorages.ContainsKey(name)) { _mapStorages.Add(name, new MapWithSetBoatsGeneric(_pictureWidth, _pictureHeight, map)); } } /// /// Удаление карты /// /// Название карты public void DelMap(string name) { _mapStorages.Remove(name); } /// /// Доступ к парковке /// /// /// public MapWithSetBoatsGeneric this[string ind] { get { _mapStorages.TryGetValue(ind, out var map); return map; } } } }