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