示例#1
0
文件: HP.cs 项目: qttq23/Adventure2D
    public void ChangeHealth(float value)
    {
        // apply defense then apply to current health
        value = applyDefense(value);
        if (value < 0)
        {
            StartCoroutine(showDamageEffect(0.2f));
        }
        currentHealth = Mathf.Clamp(currentHealth + value, 0, maxHealth);

        // signal UI component
        EventHealthChanged?.Invoke(currentHealth);
        print("HP: currentHealth: " + currentHealth);

        // show long effect if die
        if (currentHealth <= 0)
        {
            StartCoroutine(showDamageEffect(3f));
        }
    }
示例#2
0
 private void SetHealth(int value)
 {
     currentHealth = value;
     EventHealthChanged?.Invoke(currentHealth, maxHealth);
 }