Ejemplo n.º 1
0
    private void doDamageAnim(DamageTipsData dt)
    {
        //control那边做过滤
        while (dt.dataQueue.Count > 0)
        {
            DamageData data = dt.dataQueue.Dequeue();
            //如果没有缓存的item 实例化
            if (cacheQueue.Count == 0)
            {
                GameObject       go   = UIUtils.cloneObj(DamageItem1, DamageItem1.transform.parent);
                DamageTipsItemUI item = go.GetComponent <DamageTipsItemUI>();
                if (item == null)
                {
                    item = go.AddComponent <DamageTipsItemUI>();
                }
                cacheItem(item);
            }

            //如果还有缓存的item
            if (cacheQueue.Count > 0)
            {
                DamageTipsItemUI item = cacheQueue.Dequeue();
                item.setActive(true);
                item.setParentUI(this);
                item.setData(data);
                this.index++;
                item.setIndex(this.index);
            }
        }
    }
Ejemplo n.º 2
0
    public override void refreshUI()
    {
        DamageTipsData dt = this.data as DamageTipsData;

        if (dt != null)
        {
            doDamageAnim(dt);
        }
    }
Ejemplo n.º 3
0
    //显示下一个
    public void showNext()
    {
        DamageTipsData dt = this.data as DamageTipsData;

        if (dt != null && dt.dataQueue.Count > 0)
        {
            doDamageAnim(dt);
        }
    }
Ejemplo n.º 4
0
 //检查队列
 public void checkQueue(int itemIndex)
 {
     if (itemIndex == this.index)
     {
         DamageTipsData dt = this.data as DamageTipsData;
         if (dt == null || dt.dataQueue.Count == 0)
         {
             closeSelfUI();
         }
         else if (dt != null || dt.dataQueue.Count > 0)
         {
             doDamageAnim(dt);
         }
     }
 }