Example #1
0
 public override void EnterState(EnemyController_FSM enemy)
 {
     spotted = true;
     enemy.transform.LookAt(enemy.PlayerPosition);
     enemy.anim.SetTrigger(TagManager.Shout);
     enemy.AI.isStopped = true;
     enemy.AI.speed     = 0;
 }
Example #2
0
        public override void Update(EnemyController_FSM enemy)
        {
            Patrol(enemy);

            if (Vector3.Distance(enemy.transform.position, enemy.PlayerPosition.position) <= enemy.patrolRadius)
            {
                states = EnemyStates.Chase;
                enemy.TransitionToState(enemy.chaseState);
            }
        }
        private void PlayRandomAttack(EnemyController_FSM enemy)
        {
            rand = Random.Range(0, 3);

            if (rand == 0)
            {
                enemy.anim.SetTrigger(TagManager.Attack_1);
            }
            else if (rand == 1)
            {
                enemy.anim.SetTrigger(TagManager.Attack_2);
            }
            else if (rand == 2)
            {
                enemy.anim.SetTrigger(TagManager.Attack_3);
            }
        }
        public override void Update(EnemyController_FSM enemy)
        {
            enemy.AI.isStopped = true;
            enemy.AI.velocity  = Vector3.zero;
            enemy.anim.SetBool(TagManager.Run, false);
            enemy.AI.speed = 0;

            currentTime += Time.deltaTime;

            if (currentTime >= enemy.waitBeforeAttack)
            {
                currentTime = 0;
                PlayRandomAttack(enemy);
            }

            if (Vector3.Distance(enemy.transform.position, enemy.PlayerPosition.position) > enemy.attackRadius)
            {
                enemy.TransitionToState(enemy.chaseState);
            }
        }
Example #5
0
        private void Patrol(EnemyController_FSM enemy)
        {
            currentTimer  += Time.deltaTime;
            enemy.AI.speed = enemy.walkSpeed;

            if (currentTimer > patrolTimer)
            {
                currentTimer = 0f;
                SetNewDestination(enemy);
            }

            if (enemy.AI.velocity.sqrMagnitude > 0)
            {
                enemy.anim.SetBool(TagManager.Walk, true);
            }
            else
            {
                enemy.anim.SetBool(TagManager.Walk, false);
            }
        }
Example #6
0
        public override void Update(EnemyController_FSM enemy)
        {
            enemy.AI.SetDestination(enemy.PlayerPosition.position);
            enemy.AI.speed     = enemy.chaseSpeed;
            enemy.AI.isStopped = false;

            if (enemy.AI.velocity.sqrMagnitude > 0)
            {
                enemy.anim.SetBool(TagManager.Run, true);
            }
            else
            {
                enemy.anim.SetBool(TagManager.Run, false);
            }

            if (Vector3.Distance(enemy.transform.position, enemy.PlayerPosition.position) <= enemy.attackRadius)
            {
                states = EnemyStates.Attack;
                enemy.TransitionToState(enemy.attackState);
            }
        }
 public override void OnCollisionEnter(EnemyController_FSM enemy)
 {
     throw new System.NotImplementedException();
 }
 public override void EnterState(EnemyController_FSM enemy)
 {
     SoundManager.instance.PlayChaseMusic();
     enemy.AI.speed = 0;
     currentTime    = enemy.waitBeforeAttack;
 }
Example #9
0
 public override void OnCollisionEnter(EnemyController_FSM enemy)
 {
 }
 public override void Update(EnemyController_FSM enemy)
 {
     throw new System.NotImplementedException();
 }
Example #11
0
 private void SetNewDestination(EnemyController_FSM enemy)
 {
     newDestination = RandomNavSphere(enemy.transform.position, enemy.patrolRadius, -1);
     enemy.AI.SetDestination(newDestination);
 }
Example #12
0
 public override void EnterState(EnemyController_FSM enemy)
 {
     states = EnemyStates.Idle;
     enemy.anim.Play(TagManager.Idle);
 }
 public abstract void OnCollisionEnter(EnemyController_FSM enemy);
 public abstract void Update(EnemyController_FSM enemy);
 public abstract void EnterState(EnemyController_FSM enemy);