Example #1
0
        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( );
        }
Example #2
0
    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);
    }
Example #3
0
 public void AddDamage(float damage)
 {
     HP -= damage;
     ChangedEvent?.Invoke(this);
     if (HP < 0)
     {
         DeadEvent?.Invoke(this);
     }
 }
Example #4
0
    /// <summary> 体力を設定します。 </summary>
    /// <param name="health"> 設定する体力 </param>
    public void SetHealth(int health)
    {
        this.health = health;

        // HPがなくなったら
        if (health <= 0)
        {
            // 死亡した時のイベントを通知する
            DeadEvent.Invoke();
        }
    }
Example #5
0
    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;
    }
Example #6
0
 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;
 }
Example #7
0
        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);
                }
            }
        }
Example #8
0
        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);
                }
            }
        }
Example #9
0
        public void Kill(Weather weather)
        {
            DeadEvent? .Invoke(this, new DogDeadEventArgs ( DogDeadCause.BadWeather ));

            Kill( );
        }