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()