public void Hited(Attack attack)
    {
        hp -= attack.damage;

        damageText.Float(attack.damage.ToString(), transform.position + Vector3.up * 0.5f);

        if (useHitEffect)
        {
            EffectAnimator.Play(hitEffect, transform.position);
        }

        if (hp < 0)
        {
            hp = 0;
        }

        attack.OnHit?.Invoke(this);

        if (hp != 0)
        {
            animator.Hited();
        }

        if (hp == 0)
        {
            isDead = true;
            Dead();
            attack.OnKill?.Invoke(this);
        }
    }
Example #2
0
    private IEnumerator Floating()
    {
        for (int i = 0; i < boss.name.Length; i++)
        {
            tp.Float(boss.name[i].ToString(), Vector3.zero);
            yield return(new WaitForSeconds(tpInterval));
        }
        yield return(new WaitForSeconds(tpWaiting));

        tp.gameObject.SetActive(false);
    }
 public void Heal(Attack attack)
 {
     hp += attack.damage;
     attack.OnHit?.Invoke(this);
     healText.Float(attack.damage.ToString(), transform.position + Vector3.up * 0.5f);
 }