Class WanderTask

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

public class WanderTask
extends DefaultTask
implements PriorityTask
Wander around by moving a random position within a range of the starting position. Wait a little bit between movements. Requires an entity with a PhysicsMovementComponent.
  • 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
    WanderTask​(Vector2 wanderRange, float waitTime)  
  • Method Summary

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

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

    create, getStatus, stop

    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, stop
  • Constructor Details

    • WanderTask

      public WanderTask​(Vector2 wanderRange, float waitTime)
      Parameters:
      wanderRange - Distance in X and Y the entity can move from its position when start() is called.
      waitTime - How long in seconds to wait between wandering.
  • Method Details

    • getPriority

      public int getPriority()
      Specified by:
      getPriority in interface PriorityTask
    • 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