Class StealTask

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

public class StealTask extends DefaultTask implements PriorityTask
A task for an entity to "steal" items, represented by dynamically placed entities in the game world. The entity finds the closest item, moves toward it, disposes of it, and then returns to the original position.
  • Field Details

  • Constructor Details

    • StealTask

      public StealTask(Map<Integer,Entity> items, float waitTime)
      Creates a StealTask that is responsible for finding, moving toward, and "stealing" items in the game world.
      Parameters:
      items - A map of dynamically placed items in the game world with their corresponding IDs.
      waitTime - Time in seconds to wait before the entity moves again.
  • 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
    • getCurrentTask

      public Task getCurrentTask()