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