/** * 全ての描画オブジェクト情報を出力する */ public void showAllList(bool ascending, bool isShowOnly) { // カレントページのリストを取得 SortedDictionary <int, DrawList> lists = mDrawList; ULog.print(TAG, " ++ showAllList ++"); IOrderedEnumerable <KeyValuePair <int, DrawList> > descendingList = lists.OrderByDescending(selector => { DrawList list = lists[selector.Key]; ULog.print(TAG, " + priority:" + list.getPriority()); list.showAll(ascending, isShowOnly); return(selector.Key); }); }
/** * 削除要求のリストの描画オブジェクトを削除する */ private void removeRequestedList() { SortedDictionary <int, DrawList> lists = mDrawList; if (lists == null) { return; } foreach (UDrawable obj in removeRequest) { int _priority = obj.getDrawPriority(); DrawList list = lists[_priority]; if (list != null) { list.remove(obj); } } removeRequest.Clear(); }
/** * DrawListのプライオリティを変更する * @param list1 変更元のリスト * @param priority */ public void setPriority(DrawList list1, int priority) { SortedDictionary <int, DrawList> lists = mDrawList; // 変更先のプライオリティーを持つリストを探す int _priority = priority; DrawList list2 = lists[_priority]; if (list2 != null) { // すでに変更先のプライオリティーのリストがあるので交換 int srcPriority = list1.getPriority(); int _srcPriority = srcPriority; lists.Add(_priority, list1); lists.Add(_srcPriority, list2); } else { lists.Add(_priority, list1); } }
/** * 追加済みのオブジェクトのプライオリティーを変更する * @param obj * @param priority */ public void setPriority(UDrawable obj, int priority) { SortedDictionary <int, DrawList> lists = mDrawList; // 探す foreach (int pri in lists.Keys) { DrawList list = lists[pri]; if (list.contains(obj)) { if (pri == priority) { // すでに同じPriorityにいたら末尾に移動 list.toLast(obj); } else { list.remove(obj); addDrawable(obj); return; } } } }
public DrawList addDrawable(UDrawable obj) { // カレントページのリストを取得 SortedDictionary <int, DrawList> lists = mDrawList; // 挿入するリストを探す int _priority = obj.getDrawPriority(); DrawList list; if (lists.ContainsKey(_priority) == false) { // まだ存在していないのでリストを生成 list = new DrawList(obj.getDrawPriority()); lists.Add(_priority, list); } else { list = lists[_priority]; } list.add(obj); obj.setDrawList(list); return(list); }
/** * Drawableインターフェース */ public void setDrawList(DrawList drawList) { this.drawList = drawList; }