/// <summary> /// マップチップ情報を初期化する。 /// </summary> /// <param name="height">マップサイズ縦</param> public void InitializeChips(MapSizeHeight height) { AdjustLength(height); for (var i = 0; i < height; i++) { this[i] = MakeDefaultItem(i); } }
/// <summary> /// マップサイズ縦を更新する。 /// </summary> /// <param name="value">マップサイズ縦</param> public void UpdateHeight(MapSizeHeight value) { foreach (var fixedLengthColumn in this) { if (!(fixedLengthColumn is MapChipColumns column)) { // 通常ここには来ない throw new InvalidOperationException(); } column.UpdateSize(value); } }
/// <summary> /// コンストラクタ /// </summary> /// <param name="width">マップサイズ横</param> /// <param name="height">マップサイズ縦</param> public MapChipList(MapSizeWidth width, MapSizeHeight height) { InitializeChips(width, height); CollectionChanged += OnThisCollectionChanged; this[0].PropertyChanged += OnItem0PropertyChanged; }
/// <summary> /// マップサイズ縦を更新する。 /// </summary> /// <param name="width">サイズ横</param> /// <param name="height">マップサイズ縦</param> public void UpdateSize(MapSizeWidth width, MapSizeHeight height) { UpdateWidth(width); UpdateHeight(height); }
/// <summary> /// コンストラクタ /// </summary> /// <param name="height">初期サイズ高さ</param> public MapChipColumns(MapSizeHeight height) { InitializeChips(height); }
/// <summary> /// サイズを更新する。 /// </summary> /// <param name="height">更新後のサイズ</param> public void UpdateSize(MapSizeHeight height) => AdjustLength(height);