using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace HoistingCrane { 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 (Keys.Contains(name)) return; _mapStorages.Add(name, new(_pictureWidth, _pictureHeight, map)); } /// /// Удаление карты /// /// Название карты public void DelMap(string name) { if (_mapStorages.ContainsKey(name)) { _mapStorages.Remove(name); } } /// /// Доступ к парковке /// /// /// public MapWithSetHoistingCraneGeneric this[string ind] { get { if (ind != String.Empty) { MapWithSetHoistingCraneGeneric value; if (_mapStorages.TryGetValue(ind, out value)) { return value; } } return null; } } } }