using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ArmoredVehicle { /// /// Класс для хранения коллекции карт /// 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)) { MessageBox.Show("Такая карта уже есть"); return; } else { var NewElem = new MapWithSetMachineGeneric( _pictureWidth, _pictureHeight, map); _mapStorages.Add(name, NewElem); } } /// /// Удаление карты /// /// Название карты public void DelMap(string name) { if (Keys.Contains(name)) { _mapStorages.Remove(name); } else { MessageBox.Show("Такой карты нет"); return; } } /// /// Доступ к парковке /// /// /// public MapWithSetMachineGeneric this[string ind] { get { if(Keys.Contains(ind)) { return _mapStorages[ind]; } MessageBox.Show("Такой карты нет"); return null; } } } }