Interface IGoapGoal
Every goal in GOAP has to implement this interface so that the
GoapPlanner
can work with it.
Namespace: Mars.Components.Services.Planning
Assembly: Mars.Components.dll
Syntax
public interface IGoapGoal
Properties
| Improve this Doc View SourceActions
Contains all the actions that may be executed to reach this goal
Declaration
IList<IGoapAction> Actions { get; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.IList<IGoapAction> |
DesiredStates
This defines the goal attainment which should
be reached (if possible)
Declaration
IDictionary<IGoapStateKey, GoapStateProperty> DesiredStates { get; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.IDictionary<IGoapStateKey, GoapStateProperty> |
Relevance
Indicates the relevance of this goal that is used to compare it with other goals concerning the order of exeuction.
The value range should be between 0 and 1. A negative value however means that the goal is inactive and will not be
choosen for execution.
Declaration
float Relevance { get; }
Property Value
Type | Description |
---|---|
System.Single |
Methods
| Improve this Doc View SourceAddAction(IGoapAction)
Add new actions to the available action list
Declaration
void AddAction(IGoapAction action)
Parameters
Type | Name | Description |
---|---|---|
IGoapAction | action | the new action |
AddOrUpdateDesiredState(GoapStateProperty)
Add a new desired state (part of the goal)
Declaration
void AddOrUpdateDesiredState(GoapStateProperty state)
Parameters
Type | Name | Description |
---|---|---|
GoapStateProperty | state | defines a certain aspect of the world |
AddOrUpdateDesiredState<T>(GoapStateKey<T>, T)
Adds a desired state property to this agentStates or updates an existing property with the same key.
Declaration
void AddOrUpdateDesiredState<T>(GoapStateKey<T> key, T value)
Parameters
Type | Name | Description |
---|---|---|
GoapStateKey<T> | key | Identifies the state property. |
T | value | The specific manifestation of this state. |
Type Parameters
Name | Description |
---|---|
T | The type of value. |
IsSatisfied()
Determines if the corresponding agentStates has reached this goal.
Declaration
bool IsSatisfied()
Returns
Type | Description |
---|---|
System.Boolean | true if goal is reached, false otherwise |
RemoveAction(IGoapAction)
Remove an action from the list of available actions
Declaration
void RemoveAction(IGoapAction action)
Parameters
Type | Name | Description |
---|---|---|
IGoapAction | action | the action to remove |
RemoveDesiredState(GoapStateProperty)
Remove a state from the list
Declaration
void RemoveDesiredState(GoapStateProperty state)
Parameters
Type | Name | Description |
---|---|---|
GoapStateProperty | state | The state to remove |
RemoveDesiredState(IGoapStateKey)
Remove a state from the list
Declaration
void RemoveDesiredState(IGoapStateKey key)
Parameters
Type | Name | Description |
---|---|---|
IGoapStateKey | key | Identifies the state to remove |
UpdateRelevance()
Allows the
IGoapGoal
to update its relevance. A negative value means the goal is inactive.
Declaration
void UpdateRelevance()