public void AddUIObject(UIBaseObject obj, int order = -1) { Item item = new Item(); item.obj = obj; item.sortingOrder = (order == -1) ? uiItems.Count : order; uiItems.Add(item); UpdateOrder(uiItems.Count - 1, item.sortingOrder); }
public void SetSoringOrder(UIBaseObject obj, int order) { // Debug.Log(string.Format("<color=yellow>SetSoringOrder {0}->{1}</color>", obj, order)); // for (int i = 0; i < uiItems.Count; i++) // { // Debug.Log(string.Format("<color=red>{0}->{1} ({2})</color>", uiItems[i].obj.GameObject.name, uiItems[i].sortingOrder, i)); // } //search item for (int i = 0; i < uiItems.Count; i++) // foreach (Item item in uiItems) { if (uiItems[i].obj == obj) { UpdateOrder(i, order); return; } } AddUIObject(obj, order); //search postion by order, move in list, update order Item.Move(oldIndex, newindex) }