Class StealTask
java.lang.Object
com.csse3200.game.ai.tasks.DefaultTask
com.csse3200.game.components.tasks.StealTask
- All Implemented Interfaces:
PriorityTask
,Task
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.
-
Nested Class Summary
Nested classes/interfaces inherited from interface com.csse3200.game.ai.tasks.Task
Task.Status
-
Field Summary
FieldsFields inherited from class com.csse3200.game.ai.tasks.DefaultTask
owner, status
-
Constructor Summary
Constructors -
Method Summary
Methods inherited from class com.csse3200.game.ai.tasks.DefaultTask
create, getStatus, setOwner, stop
-
Field Details
-
hit
-
-
Constructor Details
-
StealTask
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 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
-
getPriority
public int getPriority()- Specified by:
getPriority
in interfacePriorityTask
-
getCurrentTask
-