Class WanderTask
java.lang.Object
com.csse3200.game.ai.tasks.DefaultTask
com.csse3200.game.components.tasks.WanderTask
- All Implemented Interfaces:
PriorityTask
,Task
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.csse3200.game.ai.tasks.Task
Task.Status
-
Field Summary
Fields inherited from class com.csse3200.game.ai.tasks.DefaultTask
owner, status
-
Constructor Summary
ConstructorsConstructorDescriptionWanderTask
(com.badlogic.gdx.math.Vector2 wanderRange, float waitTime, boolean isBoss) -
Method Summary
Methods inherited from class com.csse3200.game.ai.tasks.DefaultTask
create, getStatus, setOwner
-
Constructor Details
-
WanderTask
public WanderTask(com.badlogic.gdx.math.Vector2 wanderRange, float waitTime, boolean isBoss) - 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
-
isBoss
public boolean isBoss() -
getPriority
public int getPriority()- Specified by:
getPriority
in interfacePriorityTask
-
start
public void start()Checks if the entity has spawned yet, if not waits, else it wanders- Specified by:
start
in interfaceTask
- Overrides:
start
in classDefaultTask
-
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 interfaceTask
- Overrides:
stop
in classDefaultTask
-
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 interfaceTask
- Overrides:
update
in classDefaultTask
-