ExclusiveList - folklorecrysisprogrammer/folklorecrisis GitHub Wiki
排他制御可能なList。
このクラスは、外部からListTypeとItemTypeを受け取ります。
継承先として、ChildList、SubSceneListがあります。
| 名前 | 属性 | 初期値 | 概要 |
|---|---|---|---|
| list | protected ListType | new ListType() | 排他制御対象のリスト。 |
| moveItemList | private List<MoveItem> | new List<MoveItem>() | リストの移動予約。 |
| lockCount | int | 0 | 要素の追加・削除しないためのロックのカウント。 |
| 名前 | 属性 | 概要 |
|---|---|---|
| Lock() | public void | lockCountをインクリメントします。 |
| UnLock() | public void | lockCountをデクリメントし、lockCountが0の場合、Merge関数を実行します。 |
| Add(ItemType item) | protected abstract void | リストに追加する。 |
| Remove(ItemType item) | protected abstract void | リストから削除する。 |
| AddCheck | public void | リストに追加するNodeを予約する。 |
| RemoceCheck | public void | リストから削除するNodeを予約する。 |
| Merge() | private void | 予約していた追加・削除を実行する。 |
MoveItem private
予約するのに使用する保存形式です。public ItemType item
public enum Mode = {add,remove}
public Mode mode
public MoveItem(ItemType _item,Mode _mode)