Class GriffinTask

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

public class GriffinTask extends DefaultTask implements PriorityTask
Represents a task for a Griffin entity that manages its movement towards a target and allows it to shoot gusts of wind at the target.
  • Constructor Details

    • GriffinTask

      public GriffinTask(Entity target, int priority, float viewDistance, float waitTime, float shootRange)
      Constructs a GriffinTask for controlling a Griffin entity.
      Parameters:
      target - The target entity that the Griffin will focus on.
      priority - The priority of this task, affecting when it runs.
      viewDistance - The distance within which the target can be viewed.
      waitTime - The time to wait between firing gusts of wind.
      shootRange - The range within which the Griffin can shoot gusts of wind.
  • 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
    • 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