protected override void Awake() { base.Awake(); obj_entity.m_Id = 10000000 + obj_entity.m_Id; obj_entity.Fight = 10; obj_entity.Defence = 10; obj_entity.Name = "战舰" + attribute.Name; skill = new Skill(); skill.Attribute = attribute; List <Buff> list = new List <Buff>(); AttributeBuff b = new AttributeBuff(); b.m_BuffName = "buff001"; b.m_DelayTime = 5; b.m_BuffTime = 5; b.m_Fight = 500; b.m_Value = 500; list.Add(b); AttributeBuff b2 = new AttributeBuff(); b2.m_BuffName = "buff002"; b.m_DelayTime = 30; b2.m_BuffTime = 5; b2.m_Fight = 20; b.m_Value = 100; list.Add(b2); skill.Attribute.m_BuffList.AddRange(list); obj_entity.AddBuff(b); obj_entity.AddBuff(b2); sm.InitSkillList(); Debug.Log("1.初始Hp:" + obj_entity.Hp); GlobalEventsMgr.GetInstance().RegEvent(obj_Id, EventsType.Skill_DamageEnd, HpValue); }
//Adds a buff(AttributeBuff) to the list of buffs public void AddAttribModifier(AttributeBuff mod) { bool addingTemp = false; bool searching = true; AttributeBuff temp = new AttributeBuff(); int x = 0; if (_attribBuffs.Count > 0) { foreach (AttributeBuff att in _attribBuffs) { if (searching) { if (mod.attribute == att.attribute) { //Debug.Log ("Tryna add duplicate buff"); temp = att; addingTemp = true; searching = false; //_attribBuffs.Remove (att); } x++; } } if (!addingTemp) { _attribBuffs.Add(mod); } } else { _attribBuffs.Add(mod); } if (addingTemp) { temp.amount += mod.amount; _attribBuffs.RemoveAt(x - 1); _attribBuffs.Add(temp); } }