using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Xml.Linq; using ProjectAirbus.Drawnings; using ProjectAirbus.MovementStrategy; namespace ProjectAirbus.Generics { // Класс для хранения коллекции internal class AirbusGenericStorage { //Словарь (хранилище) readonly Dictionary> _airbusStorages; //Возвращение списка названий наборов public List Keys => _airbusStorages.Keys.ToList(); //Ширина окна отрисовки private readonly int _pictureWidth; //Высота окна отрисовки private readonly int _pictureHeight; public AirbusGenericStorage(int pictureWidth, int pictureHeight) { _airbusStorages = new Dictionary>(); _pictureWidth = pictureWidth; _pictureHeight = pictureHeight; } // Добавление набора public void AddSet(string name) { // проверка, что нет набора с таким именем foreach (string nameStorage in Keys) { if (nameStorage == name) { return; } } _airbusStorages.Add(name, new AirbusGenericCollection(_pictureWidth, _pictureHeight)); } // Удаление набора public void DelSet(string name) { if ( _airbusStorages.ContainsKey(name)) { _airbusStorages.Remove(name); } } // Доступ к набору public AirbusGenericCollection? this[string ind] { get { if (_airbusStorages.ContainsKey(ind)) { return _airbusStorages[ind]; } return null; } } } }