Class ShootTask

java.lang.Object
com.deco2800.game.ai.tasks.DefaultTask
com.deco2800.game.components.tasks.ShootTask
All Implemented Interfaces:
PriorityTask, Task
Direct Known Subclasses:
ShootMultipleTask

public class ShootTask extends DefaultTask implements PriorityTask
  • Field Details

    • target

      protected Entity target
    • TotalTime

      protected final GameTime TotalTime
  • Constructor Details

    • ShootTask

      public ShootTask(Entity target, int priority, float viewDistance, float maxChaseDistance)
      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.
  • 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
    • getPriority

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

      protected float getDistanceToTarget()
    • isTargetVisible

      protected boolean isTargetVisible()