public void AddBuff(WeaponBuff buff, float duration) { for (int i = 0; i < weaponBuffs.Count; i++) { if (weaponBuffs[i].type == buff.type) { weaponBuffs[i].endTime += duration; OnWeaponBuffAdded(buff.type, weaponBuffs[i].endTime - Time.time); return; } } weaponBuffs.Add(buff); OnWeaponBuffAdded(buff.type, duration); }
/// <summary> /// 是否具备某个武器 /// </summary> /// <param name="weapon">武器</param> /// <returns></returns> public bool HasWeapon(WeaponEnum weapon) { bool hasNow = weapons.Contains(weapon); BuffList.ForEach(x => { WeaponBuff buff = x as WeaponBuff; if (buff != null) { if (buff.IsAdding) { hasNow = true; return; } else { hasNow = false; } } }); return(hasNow); }