Class TaskActions
List of shortcuts to schedule actions on an agent
Namespace: i5.VirtualAgents.ScheduleBasedExecution
Assembly: cs.temp.dll.dll
Syntax
public class TaskActions
Constructors
TaskActions(ScheduleBasedTaskSystem)
Creates a new task actions shortcut and registers the schedule system on which the tasks are scheduled
Declaration
public TaskActions(ScheduleBasedTaskSystem scheduleTaskSystem)
Parameters
Type | Name | Description |
---|---|---|
ScheduleBasedTaskSystem | scheduleTaskSystem | The agent on which the tasks are scheduled and executed |
Methods
ActivateOrDeactivateAdaptiveGaze(Boolean, Int32)
Creates an adaptiveGazeTask that activates or deactivates the AdaptiveGaze component on the agent
Declaration
public void ActivateOrDeactivateAdaptiveGaze(bool shouldStartOrStop, int priority = 0)
Parameters
Type | Name | Description |
---|---|---|
Boolean | shouldStartOrStop | If true, will start adaptive Gaze. If false will stop adaptive gaze |
Int32 | priority | Priority of the task. Tasks with high importance should get a positive value, less important tasks a negative value. Default tasks have a priority of 0. |
DropItem(GameObject, Int32)
Drop one specified or all object that are currently attached to the agent and have the Item component Shortcut queue management function
Declaration
public AgentBaseTask DropItem(GameObject dropObject = null, int priority = 0)
Parameters
Type | Name | Description |
---|---|---|
GameObject | dropObject | The item that should be dropped, no item will result in all items being dropped |
Int32 | priority | Priority of the task. Tasks with high importance should get a positive value, less important tasks a negative value. Default tasks have a priority of 0. |
Returns
Type | Description |
---|---|
AgentBaseTask |
GoTo(GameObject, Vector3, Int32, Boolean)
Creates an AgentMovementTask for walking/running to a specific gameobject and schedules it or forces its execution. Shortcut queue management function
Declaration
public AgentBaseTask GoTo(GameObject destinationObject, Vector3 offset = null, int priority = 0, bool follow = false)
Parameters
Type | Name | Description |
---|---|---|
GameObject | destinationObject | GameObject the agent should go to |
Vector3 | offset | |
Int32 | priority | Priority of the task. Tasks with high importance should get a positive value, less important tasks a negative value. Default tasks have a priority of 0. |
Boolean | follow | Decides if the Agent should follow the GameObject, dynamically, even if the path cannot reach the GameObject |
Returns
Type | Description |
---|---|
AgentBaseTask |
GoTo(Transform, Vector3, Int32)
Creates an AgentMovementTask for walking/running and schedules it or forces its execution. Shortcut queue management function
Declaration
public AgentBaseTask GoTo(Transform destinationTransform, Vector3 offset = null, int priority = 0)
Parameters
Type | Name | Description |
---|---|---|
Transform | destinationTransform | |
Vector3 | offset | |
Int32 | priority | Priority of the task. Tasks with high importance should get a positive value, less important tasks a negative value. Default tasks have a priority of 0. |
Returns
Type | Description |
---|---|
AgentBaseTask |
GoTo(Vector3, Int32)
Creates an AgentMovementTask for walking/running and schedules it or forces its execution. Shortcut queue management function
Declaration
public AgentBaseTask GoTo(Vector3 destinationCoordinates, int priority = 0)
Parameters
Type | Name | Description |
---|---|---|
Vector3 | destinationCoordinates | Position the agent should go to |
Int32 | priority | Priority of the task. Tasks with high importance should get a positive value, less important tasks a negative value. Default tasks have a priority of 0. |
Returns
Type | Description |
---|---|
AgentBaseTask |
GoToAndDropItem(Transform, GameObject, Int32)
Go to a transform and drop one specified or all object that are currently attached to the agent and have the Item component Shortcut queue management function
Declaration
public AgentBaseTask GoToAndDropItem(Transform destinationTransform, GameObject dropObject = null, int priority = 0)
Parameters
Type | Name | Description |
---|---|---|
Transform | destinationTransform | Transform the agent should go to |
GameObject | dropObject | The item that should be dropped, no item will result in all items being dropped |
Int32 | priority | Priority of the task. Tasks with high importance should get a positive value, less important tasks a negative value. Default tasks have a priority of 0. |
Returns
Type | Description |
---|---|
AgentBaseTask |
GoToAndDropItem(Vector3, GameObject, Int32)
Go to coordinates and drop one specified or all object that are currently attached to the agent and have the Item component Shortcut queue management function
Declaration
public AgentBaseTask GoToAndDropItem(Vector3 destinationCoordinates, GameObject dropObject = null, int priority = 0)
Parameters
Type | Name | Description |
---|---|---|
Vector3 | destinationCoordinates | Position the agent should go to |
GameObject | dropObject | The item that should be dropped, no item will result in all items being dropped |
Int32 | priority | Priority of the task. Tasks with high importance should get a positive value, less important tasks a negative value. Default tasks have a priority of 0. |
Returns
Type | Description |
---|---|
AgentBaseTask |
GoToAndPickUp(GameObject, Int32, SocketId, Single)
Go to an object with the Item component and pick it up when near enough. Might fail, when object is moving too fast. Shortcut queue management function
Declaration
public AgentBaseTask GoToAndPickUp(GameObject destinationObject, int priority = 0, SocketId bodyAttachPoint = null, float minDistance = 0.3F)
Parameters
Type | Name | Description |
---|---|---|
GameObject | destinationObject | Object the agent should go to and pick up. Needs to have an item component and be reachable by the agent. |
Int32 | priority | Priority of the task. Tasks with high importance should get a positive value, less important tasks a negative value. Default tasks have a priority of 0. |
SocketId | bodyAttachPoint | Bodypart that the object should be attached to, standard is the right Hand |
Single | minDistance | Distance at which the the agent will try to pick up the object |
Returns
Type | Description |
---|---|
AgentBaseTask |
PickUp(GameObject, Int32, SocketId)
Pick up an object with the Item component that is currently in reach of the agent Shortcut queue management function
Declaration
public AgentBaseTask PickUp(GameObject pickupObject, int priority = 0, SocketId bodyAttachPoint = null)
Parameters
Type | Name | Description |
---|---|---|
GameObject | pickupObject | Object that should be picked up. Needs to have an item component and be near to the agent. |
Int32 | priority | Priority of the task. Tasks with high importance should get a positive value, less important tasks a negative value. Default tasks have a priority of 0. |
SocketId | bodyAttachPoint | Bodypart that the object should be attached to, standard is the right Hand |
Returns
Type | Description |
---|---|
AgentBaseTask |
PlayAnimation(String, Single, String, Int32, String, GameObject)
Play an animation through the agents animation controller Shortcut queue management function
Declaration
public AgentBaseTask PlayAnimation(string startTrigger, float playTime, string stopTrigger = "", int priority = 0, string layer = "Base Layer", GameObject aimTarget = null)
Parameters
Type | Name | Description |
---|---|---|
String | startTrigger | Trigger that starts the animation |
Single | playTime | Time in seconds after which the animation should stop |
String | stopTrigger | Trigger that stops the animation. If not provided, start trigger is used again |
Int32 | priority | Priority of the task. Tasks with high importance should get a positive value, less important tasks a negative value. Default tasks have a priority of 0. |
String | layer | The animation layer on which the task should be excuted |
GameObject | aimTarget | The target at which the agent should aim while playing the animation |
Returns
Type | Description |
---|---|
AgentBaseTask |
StartAdaptiveGazeForTime(Single, Int32)
Creates an adaptiveGazeTask that activates the AdaptiveGaze component, then a wait task on the head and then a task that deactivates the AdaptiveGaze component. These a scheduled so that they play one after another.
Declaration
public AgentBaseTask[] StartAdaptiveGazeForTime(float seconds, int priority = 0)
Parameters
Type | Name | Description |
---|---|---|
Single | seconds | Time in seconds after which the gazing should stop |
Int32 | priority | Priority of the task. Tasks with high importance should get a positive value, less important tasks a negative value. Default tasks have a priority of 0. |
Returns
Type | Description |
---|---|
AgentBaseTask[] | Returs a AgentBaseTask array with two elements. The first has the starting Task (e.g. for startTask.waitFor(diffrentTask), and the second the stop Task ((e.g. for diffrentTask.waitFor(stopTask)) |
WaitForSeconds(Single, Int32, String)
Lets the agent wait for the given number of seconds in an idle position Shortcut queue management function
Declaration
public AgentBaseTask WaitForSeconds(float seconds, int priority = 0, string layer = "Base Layer")
Parameters
Type | Name | Description |
---|---|---|
Single | seconds | The time span in seconds for which the agent shoudl wait |
Int32 | priority | Priority of the task. Tasks with high importance should get a positive value, less important tasks a negative value. Default tasks have a priority of 0. |
String | layer | The animation layer on which the task should be excuted |
Returns
Type | Description |
---|---|
AgentBaseTask |