Class AdjustedChaseTask
java.lang.Object
com.csse3200.game.ai.tasks.DefaultTask
com.csse3200.game.components.tasks.AdjustedChaseTask
- All Implemented Interfaces:
PriorityTask,Task
Chases a target entity until they get too far away or line of sight is lost. Additional functionality
so that it actively checks if entity is stuck behind an object when chasing and adjusts movement.
-
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
ConstructorsConstructorDescriptionAdjustedChaseTask(Entity target, int priority, float viewDistance, float maxChaseDistance) -
Method Summary
Modifier and TypeMethodDescriptionchargetDirection(com.badlogic.gdx.math.Vector2 destination) intvoidstart()Start running this task.voidstop()Stop the task immediately.com.badlogic.gdx.math.Vector2Calculates the vector position the entity should move to so that it is not stuck anymore.voidupdate()Run one frame of the task.Methods inherited from class com.csse3200.game.ai.tasks.DefaultTask
create, getStatus
-
Constructor Details
-
AdjustedChaseTask
- 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:TaskStart running this task. This will usually be called by an AI controller.- Specified by:
startin interfaceTask- Overrides:
startin classDefaultTask
-
update
public void update()Description copied from interface:TaskRun one frame of the task. Similar to the update() in Components.- Specified by:
updatein interfaceTask- Overrides:
updatein classDefaultTask
-
stop
public void stop()Description copied from interface:TaskStop the task immediately. This can be called at any time by the AI controller.- Specified by:
stopin interfaceTask- Overrides:
stopin classDefaultTask
-
getPriority
public int getPriority()- Specified by:
getPriorityin interfacePriorityTask
-
getDirection
public char getDirection(com.badlogic.gdx.math.Vector2 destination) - Parameters:
destination-
-
stuckMovement
public com.badlogic.gdx.math.Vector2 stuckMovement()Calculates the vector position the entity should move to so that it is not stuck anymore.- Returns:
- The vector position entity should move to get un stuck.
-