Class GPTFastChaseTask
java.lang.Object
com.csse3200.game.ai.tasks.DefaultTask
com.csse3200.game.components.tasks.GPTFastChaseTask
- All Implemented Interfaces:
PriorityTask
,Task
Chases a target entity indefinitely and the entity being visible causes a speed increase
CAN have added functionality to launch projectiles at the player too if wanted.
-
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
ConstructorsConstructorDescriptionGPTFastChaseTask
(Entity target, int priority, com.badlogic.gdx.math.Vector2 speed) GPTFastChaseTask
(Entity target, int priority, com.badlogic.gdx.math.Vector2 speed, ProjectileLauncherComponent projectileLauncher, Entity shooter) -
Method Summary
Methods inherited from class com.csse3200.game.ai.tasks.DefaultTask
create, getStatus
-
Constructor Details
-
GPTFastChaseTask
- Parameters:
target
- The entity to chase.priority
- Task priority when chasing (0 when not chasing).speed
- The speed at which the enemy will chase the player
-
GPTFastChaseTask
public GPTFastChaseTask(Entity target, int priority, com.badlogic.gdx.math.Vector2 speed, ProjectileLauncherComponent projectileLauncher, Entity shooter) - Parameters:
target
- The entity to chase.priority
- Task priority when chasing (0 when not chasing).speed
- The speed at which the enemy will chase the playerprojectileLauncher
- the projectile launcher component used to launch projectiles at the playershooter
- the enemy that is shooting the projectiles
-
-
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 interfaceTask
- Overrides:
start
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
-
FireLasers
public void FireLasers()If there is a projectile launcher present, fire lasers. If not, this does nothing. -
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
-
getPriority
public int getPriority()- Specified by:
getPriority
in interfacePriorityTask
-