public void PlaySFX(EnemySFX requestedSFX)
    {
        switch (requestedSFX)
        {
        case EnemySFX.SHOOT_PROJECTILE: {
            source.PlayOneShot(ShootProjectile);
            break;
        }

        case EnemySFX.SLAP: {
            source.PlayOneShot(Slap);
            break;
        }

        case EnemySFX.IMPACT: {
            source.pitch = 1 + Random.Range(-0.5f, 0.5f);
            if (Random.Range(0, 10) < 5)
            {
                source.PlayOneShot(Impact1);
            }
            else
            {
                source.PlayOneShot(Impact2);
            }
            break;
        }
        }
    }
Пример #2
0
    public void Start()
    {
        myEnemyMovement  = gameObject.GetComponent <EnemyMovement> ();
        myAnimatorState  = gameObject.GetComponent <AnimatorState> ();
        myShowEnemyStats = gameObject.GetComponent <ShowEnemyStats> ();
        myEnemyItemDrop  = gameObject.GetComponent <EnemyItemDrop> ();
        myCollider       = gameObject.GetComponent <Collider> ();
        myEnemySFX       = gameObject.GetComponent <EnemySFX> ();

        isAttacking = false;

        enemiesAlerted = false;

        alertBitMask = 1 << LayerMask.NameToLayer("Enemy");
    }
Пример #3
0
    void Awake()
    {
        m_Health         = 100;
        m_EnemySFX       = GetComponent <EnemySFX>();
        m_EnemyAI        = GetComponent <EnemyAI>();
        m_EnemyAnimation = GetComponent <EnemyAnimation>();
        m_EnemyVFX       = GetComponent <EnemyVFX>();

        m_EnemyStateMachine = new StateMachine();

        m_IdleState   = new IdleState(m_EnemyAI.GetNavMeshAgent(), this.gameObject, m_EnemyAnimation.GetAnimator());
        m_ChaseState  = new ChaseState(this.gameObject, m_EnemyAI.GetNavMeshAgent(), m_EnemyAI.GetPlayer(), m_EnemyAnimation.GetAnimator());
        m_AttackState = new AttackState(this.gameObject, m_EnemyAnimation.GetAnimator());

        m_Player = GameObject.FindGameObjectWithTag("Player").GetComponent <Player>();
    }
    public void PlaySFXByIndex(int SFXIndex)
    {
        EnemySFX _RequestedSFX = (EnemySFX)SFXIndex;

        PlaySFX(_RequestedSFX);
    }