Ejemplo n.º 1
0
    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);
    }
Ejemplo n.º 2
0
    /// <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);
    }