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; }
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); } }
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); } }
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; }
public override void OnCollisionEnter(EnemyController_FSM enemy) { }
public override void Update(EnemyController_FSM enemy) { throw new System.NotImplementedException(); }
private void SetNewDestination(EnemyController_FSM enemy) { newDestination = RandomNavSphere(enemy.transform.position, enemy.patrolRadius, -1); enemy.AI.SetDestination(newDestination); }
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);