예제 #1
0
 private void SetShotsFired(int amount)
 {
     if (m_Char is Character_Player)
     {
         StatSetter.IncrimentStat("ShotsFired", amount);
     }
 }
    public void SetState(EnemyState state)    //Set state, as well as one shot actions for a given state change
    {
        m_State = state;

        switch (state)
        {
        case EnemyState.Idle:
            m_Anim.SetBool("IsMoving", false);
            break;

        case EnemyState.Moving:
            m_Nav.isStopped = false;
            m_Anim.SetBool("IsMoving", true);
            break;

        case EnemyState.Seeking:
            if (FindClosestWeapon() != null)
            {
                m_ClosestWeapon = FindClosestWeapon();
                m_Anim.SetBool("IsMoving", true);
            }
            else
            {
                SetState(m_DefaultState);
            }
            break;

        case EnemyState.Unconscious:
            m_UnconsciousTimer = 0;
            m_Nav.isStopped    = true;
            DropWeapon();
            m_Anim.applyRootMotion = false;
            m_Anim.SetBool("IsUnconscious", true);
            break;

        case EnemyState.Dead:
            m_IsAlive              = false;
            m_Nav.isStopped        = true;
            m_Anim.applyRootMotion = false;
            m_Anim.SetBool("IsUnconscious", true);
            StatSetter.IncrimentStat("EnemiesKilled", 1);
            Destroy(this);
            break;
        }

        //Debug.Log(name + " is " + m_State);
    }
예제 #3
0
    public override void Use()
    {
        m_Anim.Play();
        Collider[] hitObjects = Physics.OverlapBox(transform.position + transform.forward, m_HitBox);
        foreach (Collider hitObject in hitObjects)
        {
            Character hitCharacter = hitObject.GetComponent <Character>();
            if (hitCharacter != null)
            {
                if (hitCharacter != this)
                {
                    hitCharacter.AddHealth(-m_Damage);
                }
            }
        }

        StatSetter.IncrimentStat("WeaponsSwung", 1);
    }
    public void SetState(PlayerState state)    //Set state, as well as one shot actions for a given state change
    {
        m_PlayerState = state;

        switch (state)
        {
        case PlayerState.Idle:
            m_Anim.SetBool("IsMoving", false);
            break;

        case PlayerState.Moving:
            m_Anim.SetBool("IsMoving", true);
            break;

        case PlayerState.Dead:
            AudioManager.instance.ToggleAudioListener(true);
            m_IsAlive = false;
            m_Anim.applyRootMotion = false;
            m_Anim.SetBool("IsUnconscious", true);
            StatSetter.IncrimentStat("TimesDied", 1);
            m_UI.SetActivePanel("Panel_Lose");
            break;
        }
    }
    protected override void Punch()
    {
        base.Punch();

        StatSetter.IncrimentStat("PunchesThrown", 1);
    }