public void Kill(Player murderer, MoveType moveType) { switch (moveType) { case MoveType.RidingBicycle: { DeadEvent? .Invoke(this, new DogDeadEventArgs ( DogDeadCause.Bicycle )); break; } case MoveType.RidingMotorcycle: { DeadEvent? .Invoke(this, new DogDeadEventArgs ( DogDeadCause.Motorcycle )); break; } case MoveType.DrivingCar: { DeadEvent? .Invoke(this, new DogDeadEventArgs ( DogDeadCause.Car )); break; } default: { throw new ArgumentOutOfRangeException(nameof(moveType)); } } Kill( ); }
protected override void UpdateAfterReceiveAttack() { if (m_cStatus.m_nHp <= 0) { m_cStatus.m_nHp = 0; isDead = true; DeadEvent.Invoke(); if (BattleSceneManager.getInstance().CharacterCount == 3) { BattleSceneManager.getInstance().mainCharacter = BattleSceneManager.getInstance().Character[BattleSceneManager.getInstance().CharacterSecondIndex]; BattleSceneManager.getInstance().camara3.GetComponent <OrbitCameraC>().target = BattleSceneManager.getInstance().Character[BattleSceneManager.getInstance().CharacterSecondIndex].transform; } if (BattleSceneManager.getInstance().CharacterCount == 3) { BattleSceneManager.getInstance().mainCharacter = BattleSceneManager.getInstance().Character[BattleSceneManager.getInstance().CharacterThirdIndex]; BattleSceneManager.getInstance().camara3.GetComponent <OrbitCameraC>().target = BattleSceneManager.getInstance().Character[BattleSceneManager.getInstance().CharacterThirdIndex].transform; } if (BattleSceneManager.getInstance().CharacterCount == 1) { Debug.Log("종료"); } BattleSceneManager.getInstance().CharacterCount--; Destroy(this.gameObject); } UIManager.instance.UpdatePlayerUI(this); }
public void AddDamage(float damage) { HP -= damage; ChangedEvent?.Invoke(this); if (HP < 0) { DeadEvent?.Invoke(this); } }
/// <summary> 体力を設定します。 </summary> /// <param name="health"> 設定する体力 </param> public void SetHealth(int health) { this.health = health; // HPがなくなったら if (health <= 0) { // 死亡した時のイベントを通知する DeadEvent.Invoke(); } }
protected override void Die() { base.Die(); DeadEvent?.Invoke(); // Activate the arms again foreach (Transform arm in arms) { arm.gameObject.SetActive(true); } GetHead().enabled = false; GetMovement().enabled = false; }
public void Dead() { anim.applyRootMotion = true; State = PlayerState.dead; characterStatus.isBehindCover = false; anim.SetBool("Stels", characterStatus.isBehindCover); characterStels.CapsulToStelsState(characterStatus.isBehindCover); anim.SetBool("Dead", true); anim.SetTrigger("DeadTrigger"); Invoke("NoSuit", 3f); Invoke("ReturnActive", 3f); if (DeadEvent != null) { DeadEvent.Invoke(); } DeadEvent = null; }
public void TakeDamage(float damage) { if (_personAnimator.IsDead == false && _personAnimator.IsJumping == false) { HealthParameter.Value -= damage; HitEvent.Invoke(damage); if (HealthParameter.Value <= 0) { _personAnimator.DeadAnimation(); Destroy(GetComponent <Collider2D>()); if (DeadEvent != null) { DeadEvent.Invoke(this, new EventArgs()); } Destroy(gameObject, 5f); } } }
private void OnUnitDead(object sender, DateTime dateTime) { BattleBase one = sender as BattleBase; if (one != null) { UnitDeadEvent?.Invoke(this, one); lock (_mutex) { if (_battleUnits.Contains(one)) { _battleUnits.Remove(one); one.DeadEvent -= OnUnitDead; } } if (!IsAlive()) { DeadEvent?.Invoke(this, dateTime); } } }
public void Kill(Weather weather) { DeadEvent? .Invoke(this, new DogDeadEventArgs ( DogDeadCause.BadWeather )); Kill( ); }