Beispiel #1
0
    public void AddBuff(int _buffID, float _buffTime)
    {
        if (buffDic.ContainsKey(_buffID))
        {
            BattleBuff buff = buffDic[_buffID];

            buff.AddTime(_buffTime);
        }
        else
        {
            GameObject go = GameObjectFactory.Instance.GetGameObject("Assets/Prefabs/Buff.prefab", null, true);

            BattleBuff buff = go.GetComponent <BattleBuff> ();

            buff.Init(this, _buffID, _buffTime);

            go.transform.SetParent(buffRectTransform, false);

            if (index == 1)
            {
                (go.transform as RectTransform).anchoredPosition = new Vector2((go.transform as RectTransform).anchoredPosition.x, (1 + buffDic.Count) * (go.transform as RectTransform).rect.height);
            }
            else
            {
                (go.transform as RectTransform).anchoredPosition = new Vector2((go.transform as RectTransform).anchoredPosition.x, -buffDic.Count * (go.transform as RectTransform).rect.height);
            }

            buffDic.Add(_buffID, buff);

            buffList.Add(go);

            buffTimeList.Add(buff);
        }

        buffTimeList.Sort(BuffSort.Instance);
    }