using ProjectTank.DrawningObjects; using ProjectTank.MovementStrategy; namespace ProjectTank.Generics { /// /// Класс для хранения коллекции /// internal class TanksGenericStorage { /// /// Словарь (хранилище) /// readonly Dictionary> _tankStorages; /// /// Возвращение списка названий наборов /// public List Keys => _tankStorages.Keys.ToList(); /// /// Ширина окна отрисовки /// private readonly int _pictureWidth; /// /// Высота окна отрисовки /// private readonly int _pictureHeight; /// /// Конструктор /// /// /// public TanksGenericStorage(int pictureWidth, int pictureHeight) { _tankStorages = new Dictionary>(); _pictureWidth = pictureWidth; _pictureHeight = pictureHeight; } /// /// Добавление набора /// /// Название набора public void AddSet(string name) { _tankStorages.Add(name, new TanksGenericCollection (_pictureWidth, _pictureHeight)); } /// /// Удаление набора /// /// Название набора public void DelSet(string name) { if (!_tankStorages.ContainsKey(name)) return; _tankStorages.Remove(name); } /// /// Доступ к набору /// /// /// public TanksGenericCollection? this[string ind] { get { if (_tankStorages.ContainsKey(ind)) return _tankStorages[ind]; return null; } } } }