Class ChaseTask

java.lang.Object
com.deco2800.game.ai.tasks.DefaultTask
com.deco2800.game.components.tasks.ChaseTask
All Implemented Interfaces:
PriorityTask, Task

public class ChaseTask extends DefaultTask implements PriorityTask
Chases a target entity until they get too far away or line of sight is lost
  • Constructor Details

    • ChaseTask

      public ChaseTask(Entity target, int priority, float viewDistance, float maxChaseDistance)
      Parameters:
      target - The entity to chase.
      priority - Task priority when chasing (0 when not chasing).
      viewDistance - Maximum distance from the entity at which chasing can start.
      maxChaseDistance - Maximum distance from the entity while chasing before giving up.
    • ChaseTask

      public ChaseTask(Entity target, int priority, float viewDistance, float maxChaseDistance, float speed)
      Parameters:
      target - The entity to chase.
      priority - Task priority when chasing (0 when not chasing).
      viewDistance - Maximum distance from the entity at which chasing can start.
      maxChaseDistance - Maximum distance from the entity while chasing before giving up.
      speed - The speed to chase at.
  • Method Details

    • start

      public void start()
      Start chase task.
      Specified by:
      start in interface Task
      Overrides:
      start in class DefaultTask
    • update

      public void update()
      Update chase task.
      Specified by:
      update in interface Task
      Overrides:
      update in class DefaultTask
    • stop

      public void stop()
      Stop this task.
      Specified by:
      stop in interface Task
      Overrides:
      stop in class DefaultTask
    • getPriority

      public int getPriority()
      Get the priority of this task.
      Specified by:
      getPriority in interface PriorityTask
      Returns:
      integer representing the priority of this task.