void OnHealEventClientRpc(float amount)
 {
     if (IsHost)
     {
         return;
     }
     onHealEvent.Invoke(amount);
 }
示例#2
0
    /// <summary>
    /// Regain one health.
    /// </summary>
    public void RegainHealth()
    {
        if (m_HealingBufferActive)
        {
            return;
        }

        if (m_CurrentHealth >= m_StartingHealth)
        {
            return;
        }

        m_CurrentHealth++;
        m_OnGainHealth.Invoke(1, this);
        DisableHealing();
    }
示例#3
0
 public void GainHealth(float amount)
 {
     this.currentHealth += amount;
     if (this.currentHealth > this.maxHealth)
     {
         this.currentHealth = this.maxHealth;
     }
     OnGainHealth.Invoke(amount, this);
 }
示例#4
0
        public void GainHealth(int p_amount)
        {
            m_currentHealth += p_amount;

            if (m_currentHealth > StartingHealth)
            {
                m_currentHealth = StartingHealth;
            }

            OnHealthSet?.Invoke(this);
            OnGainHealth.Invoke(p_amount, this);
        }
示例#5
0
        public void GainHealth(int amount)
        {
            _damageableModel.CurrentHealth += amount;

            if (_damageableModel.CurrentHealth > _damageableModel.StartingHealth)
            {
                _damageableModel.CurrentHealth = _damageableModel.StartingHealth;
            }

            OnHealthChanged?.Invoke(this);
            OnGainHeal?.Invoke(amount, this);
        }
示例#6
0
        public void GainHealth(int amount)
        {
            m_CurrentHealth += amount;

            if (m_CurrentHealth > startingHealth)
            {
                m_CurrentHealth = startingHealth;
            }

            OnHealthSet.Invoke(this);

            OnGainHealth.Invoke(amount, this);
        }
示例#7
0
        public void GainHealth(int amount)
        {
            currentHealth += amount;

            if (currentHealth > maxHealth)
            {
                currentHealth = maxHealth;
            }


            onHealthSet.Invoke(this);
            onGainHealth.Invoke(amount, this);
        }
示例#8
0
    /// <summary>
    /// Lets object be healed. Negative values not allowed.
    /// Raises and healEvent when object is healed.
    /// </summary>
    /// <param name="amount"></param> The amount healed.
    public void Heal(int amount)
    {
        if (amount < 0)
        {
            return;
        }

        int newHealth = Mathf.Min((currentHealth + amount), maxHealth);

        HealEvent?.Invoke(newHealth - currentHealth);
        currentHealth = newHealth;
        Debug.Log("Healing current health with " +
                  amount + " to " + currentHealth);
    }
示例#9
0
    public void GainHealth(int amount)
    {
        m_CurrentHealth += amount;

        if (m_CurrentHealth > startingHealth)
        {
            m_CurrentHealth = startingHealth;
        }

        OnHealthSet.Invoke(this);

        OnGainHealth.Invoke(amount, this);

        Debug.Log("Gain health, curHealth: " + m_CurrentHealth);
    }
示例#10
0
 protected override void OnGetHealth(int amount)
 {
     OnGainHealth.Invoke(amount, this);
     OnHealthSet.Invoke(this);
 }
示例#11
0
 public void Heal(int heal)
 {
     this.health = GetHeal(this.health, heal);
     HealEvent?.Invoke(heal);
 }
示例#12
0
        public void GainStartingHealth(int amount)
        {
            startingHealth += amount;

            OnGainStartingHealth.Invoke(amount, this);
        }
示例#13
0
        // Used when healing our healhth, limited by maxHealth
        public virtual void Heal(float healAmount)
        {
            currentHealth = Mathf.Min(maxHealth, currentHealth + healAmount);

            OnHeal.Invoke(healAmount);
        }
示例#14
0
 public void GainHealth(int amount)
 {
     SetHealth(health.CurrentValue + amount);
     OnGainHealth.Invoke(amount, this);
 }
示例#15
0
 public void DoHeal(HealInfo info)
 {
     m_health += info.count;
     m_health  = Mathf.Clamp(m_health, 0, maxHealth);
     OnHeal.Invoke(info);
 }