Esempio n. 1
0
    /// <summary>
    /// Drains all the health of an orb immediately
    /// </summary>
    public void DrainHealth()
    {
        CurrentHealth = 0;
        OnOrbZeroHealth?.Invoke();

        foreach (Renderer chargeRenderer in ChargeObjects)
        {
            chargeRenderer.material.SetFloat("_alpha", DimAlpha);
        }
    }
Esempio n. 2
0
    /// <summary>
    /// Reduces health of the orb by the given damage value
    /// </summary>
    /// <param name="damage"> The damage value to apply </param>
    public void ReduceHealth(int damage)
    {
        CurrentHealth -= damage;

        // if current health is less than or equal to zero, trigger an orb-health-zero event
        if (CurrentHealth <= 0)
        {
            OnOrbZeroHealth?.Invoke();
        }

        if (CurrentHealth >= 0 && CurrentHealth < MaxHealth)
        {
            ChargeObjects[CurrentHealth].material.SetFloat("_alpha", DimAlpha);
        }
    }