Class GPTFastChaseTask

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

public class GPTFastChaseTask extends DefaultTask implements PriorityTask
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.
  • Constructor Details

    • GPTFastChaseTask

      public GPTFastChaseTask(Entity target, int priority, com.badlogic.gdx.math.Vector2 speed)
      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 player
      projectileLauncher - the projectile launcher component used to launch projectiles at the player
      shooter - 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 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
    • 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 interface Task
      Overrides:
      stop in class DefaultTask
    • getPriority

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