/** * 削除要求のリストの描画オブジェクトを削除する */ 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(); }
/** * 追加済みのオブジェクトのプライオリティーを変更する * @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; } } } }