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); }