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; } } }
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"); }
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); }