private void OnCollisionEnter(Collision collision)
 {
     if (collision.gameObject.tag == "Enemy")
     {
         m_actualHP = gestionHP(m_actualHP);
         OnHPChange?.Invoke(m_actualHP);
     }
 }
Example #2
0
 public void ApplyDamage(float damage)
 {
     PlayerModel.CurrentHP -= damage;
     if (PlayerModel.CurrentHP <= 0)
     {
         _isDead = true;
     }
     OnHPChange?.Invoke(PlayerModel.CurrentHP);
 }
Example #3
0
 public void TakeHealth(int addHP)
 {
     if (IsDead)
     {
         return;
     }
     Hp += addHP;
     Hp  = Mathf.Clamp(Hp, 0, HpMax);
     OnHPChange.Invoke();
 }
Example #4
0
 void OnCollisionEnter(Collision collision)
 {
     if (collision.rigidbody.tag == "Bullet")
     {
         OnHPChange?.Invoke(1);
         loseHP(1);
     }
     if (Current_HP <= 0)
     {
         Destroy(gameObject);
     }
 }
Example #5
0
    public void TakeDamage(int damage)
    {
        if (IsDead)
        {
            return;
        }


        if (Team == Team.Monster)
        {
            Debug.Log(GetComponent <Animator>());
            GetComponent <Animator>()?.SetTrigger("Hit");
            GetComponent <CharacterState>()?.Hit();
        }

        Hp -= damage;
        OnHPChange.Invoke();

        if (Hp <= 0)
        {
            Hp     = 0;
            IsDead = true;
            GetComponent <CharacterState>().OnDeathTrigger();
            OnHpZero.Invoke();

            if (Team == Team.Monster)
            {
                _monsterNav.SwitchNav(NavType.Stop);
                GetComponent <Animator>()?.Play("Dead");
                CharManager.Instance.MainChar.TakeHealth(1);
            }

            if (CharManager.Instance == null)
            {
                Debug.LogFormat("[CharInterface.Start] Not Found CharManager.Instance");
                return;
            }

            CharManager.Instance.UnRegister(this);
            //TODO Death Show
        }
    }
 /// <summary> Invoke actions that listen to a change in HP.  </summary>
 public void HPChanged()
 {
     OnHPChange?.Invoke(pokemon);
 }
Example #7
0
 public void AplyDamage(float damageValue)
 {
     PlayerModel.CurrentHP -= damageValue;
     OnHPChange?.Invoke(PlayerModel.CurrentHP);
 }