Example #1
0
 public void Update(uint elapsed)
 {
     for (int i = 0; i < mAllList.Count; ++i)
     {
         PopTipNode _node = mAllList[i] as PopTipNode;
         _node.Update(elapsed);
     }
 }
Example #2
0
    private void SortCaches()
    {
        float y      = mOffsetY + mSrcPos.y - (float)Screen.height / 3.0f;
        float offset = 40.0f;

        for (int i = mCacheList.Count - 1; i >= 0; --i)
        {
            PopTipNode node = mCacheList[i] as PopTipNode;
            node.SetPos(new Vector2(mSrcPos.x, y));

            y += offset;
        }
    }
Example #3
0
    public void AddNewTip(string txt, float offsetY = 0.0f)
    {
        if (string.IsNullOrEmpty(txt))
        {
            return;
        }

        PopTipNode node = null;

        if (mCacheQueue.Count > 0)
        {
            node = mCacheQueue.Dequeue() as PopTipNode;
        }
        else
        {
            //等待新机制修改
            GameObject clone = WindowManager.Instance.CloneCommonUI("PopTipUI");
            GameObject.DontDestroyOnLoad(clone);
            WindowManager.Instance.SetDepth(clone, 1000, true);
            node = new PopTipNode(clone);
            mAllList.Add(node);
        }

        if (mCacheList.Count >= MAX_CACHE_SIZE)
        {
            PopTipNode lastNode = mCacheList[0] as PopTipNode;
            if (lastNode != null && lastNode.mUsed)
            {
                lastNode.Moved();
            }
        }

        node.Start(txt);

        mCacheList.Add(node);

//         if( mLastPopTip != null && mLastPopTip.mUsed )
//         {
//             mLastPopTip.Moved();
//         }

//        node.SetPos(new Vector2(mSrcPos.x, offsetY + mSrcPos.y - (float)Screen.height / 4.0f));
//        node.Start(txt);

//        mLastPopTip = node;
        SortCaches();
    }
Example #4
0
 public void FreeUI(PopTipNode node)
 {
     mCacheQueue.Enqueue(node);
 }
Example #5
0
 public void OnMoved(PopTipNode node)
 {
     mCacheList.Remove(node);
     SortCaches();
 }