Example #1
0
    public UnitIconQueueItem AddUnitIcon(Unit unit)
    {
        UnitIconQueueItem item = ObjectPooling.Instance.GetObject <UnitIconQueueItem>(ItemPrefab, transform);

        item.OnUpdate(unit);
        ItemArray.Add(item);
        return(item);
    }
Example #2
0
    public void RemoveUnitIcon(UnitIconQueueItem item)
    {
        int index = ItemArray.IndexOf(item);

        ItemArray.Remove(item);
        for (; index < ItemArray.Count; index++)
        {
        }
        item.Close(true);
        UpdateChild();
    }
Example #3
0
    IEnumerator InsertIng(UnitIconQueueItem item)
    {
        item.Close(false);
        Vector2 disction = CellSize + Vector2.right * Spacing;
        Vector2 off      = Vector2.zero;

        while (off.x < disction.x)
        {
            Vector2 value = Vector2.right * speed;
            off += value;
            for (int i = 0; i < MoveRect.Count; i++)
            {
                MoveRect[i].anchoredPosition -= value;
            }
            yield return(null);
        }
        item.Open();
        item.transform.SetSiblingIndex(from + 1);
        UpdateChild();
    }
Example #4
0
    void Insert(int to, int from)
    {
        if (from == -1)
        {
            from = ItemArray.Count;
        }
        if (to == from)
        {
            return;
        }
        this.to   = to;
        this.from = from;
        UnitIconQueueItem item = ItemArray[to];

        ItemArray.Insert(from, item);
        MoveRect.Clear();
        for (int i = to; i < from; i++)
        {
            MoveRect.Add(ItemArray[i].GetComponent <RectTransform>());
        }
        ItemArray.RemoveAt(0);
        StartCoroutine(InsertIng(item));
    }
Example #5
0
    public void SetIconIndex(UnitIconQueueItem item, int index)
    {
        int to = ItemArray.IndexOf(item);

        Insert(to, index);
    }