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
  • Nested Class Summary

    Nested classes/interfaces inherited from interface com.deco2800.game.ai.tasks.Task

    Task.Status
  • Field Summary

    Fields inherited from class com.deco2800.game.ai.tasks.DefaultTask

    owner, status
  • Constructor Summary

    Constructors 
    Constructor Description
    ChaseTask​(Entity target, int priority, float viewDistance, float maxChaseDistance)  
  • Method Summary

    Modifier and Type Method Description
    int getPriority()  
    void start()
    Start running this task.
    void stop()
    Stop the task immediately.
    void update()
    Run one frame of the task.

    Methods inherited from class com.deco2800.game.ai.tasks.DefaultTask

    create, getStatus

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface com.deco2800.game.ai.tasks.Task

    create, getStatus
  • 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.
  • Method Details

    • start

      public void start()
      Description copied from interface: Task
      Start running this task. This will usually be called by an AI controller.
      Specified by:
      start in interface Task
      Overrides:
      start in class DefaultTask
    • update

      public void update()
      Description copied from interface: Task
      Run one frame of the task. Similar to the update() in Components.
      Specified by:
      update in interface Task
      Overrides:
      update in class DefaultTask
    • stop

      public void stop()
      Description copied from interface: Task
      Stop the task immediately. This can be called at any time by the AI controller.
      Specified by:
      stop in interface Task
      Overrides:
      stop in class DefaultTask
    • getPriority

      public int getPriority()
      Specified by:
      getPriority in interface PriorityTask