private void OnCollisionEnter(Collision collision) { if (collision.gameObject.tag == "Enemy") { m_actualHP = gestionHP(m_actualHP); OnHPChange?.Invoke(m_actualHP); } }
public void ApplyDamage(float damage) { PlayerModel.CurrentHP -= damage; if (PlayerModel.CurrentHP <= 0) { _isDead = true; } OnHPChange?.Invoke(PlayerModel.CurrentHP); }
public void TakeHealth(int addHP) { if (IsDead) { return; } Hp += addHP; Hp = Mathf.Clamp(Hp, 0, HpMax); OnHPChange.Invoke(); }
void OnCollisionEnter(Collision collision) { if (collision.rigidbody.tag == "Bullet") { OnHPChange?.Invoke(1); loseHP(1); } if (Current_HP <= 0) { Destroy(gameObject); } }
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); }
public void AplyDamage(float damageValue) { PlayerModel.CurrentHP -= damageValue; OnHPChange?.Invoke(PlayerModel.CurrentHP); }