public virtual void OnMoveExecute(NPCBehaviour npc, float speed, Vector3 facingDir) { npc.CheckVision(); Vector3 dir = npc.currentDestination - npc.transform.position; dir.y = 0; npc.CharMove.Move(dir, facingDir, speed); }
public virtual void OnChaseExecute(NPCBehaviour npc, Vector3 target) { npc.CheckVision(); Vector3 dir = npc.CurrentTarget.transform.position - npc.transform.position; dir.y = 0; npc.CharMove.Move(dir, target, RunSpeed); if (Vector3.Distance(npc.transform.position, target) < 2f) { Debug.Log("Reached target!"); } }
public virtual void OnIdleExecute(NPCBehaviour npc) { npc.CheckVision(); }