• Documentation
  • Core API
  • SmartOpenHamburg API
  • Model Components API
  • Common API

    Show / Hide Table of Contents
    • Mars.Components
      • DependencyRegistrationModelling
    • Mars.Components.Agents
      • AbstractAgent
      • AbstractEntity
      • Agent
    • Mars.Components.Environments
      • AbstractEnvironment
      • AbstractGraphElement
      • AlwaysPassingNodeGuard
      • EntityLane<TEntity>
      • GeoEnvironment
      • GeoHashEnvironment<T>
      • IEnvironmentMediator
      • IModalChoiceResolver
      • PathHeuristics
      • SpatialEdge
      • SpatialGraphEntityExtensions
      • SpatialGraphEnvironment
      • SpatialGraphHelper
      • SpatialHashEnvironment<TEntity>
      • SpatialNode
    • Mars.Components.Environments.Cartesian
      • CartesianEnvironment<TEntity>
      • CollisionEnvironment<TCharacter, TObstacle>
      • CollisionKind
      • ConeExplorationView
      • ExplorationView
      • GeometryFactory
      • ICartesianEnvironment<TEntity>
      • ICharacter
      • ICollidable
      • ICollisionEnvironment<TCharacter, TObstacle>
      • IObstacle
      • IVisible
      • RayExplorationView
      • TrapezoidExploration
      • VisibilityKind
    • Mars.Components.Environments.Cartesian.Routing
      • CartesianRoutingService<TObstacle>
      • GeometryCoordinatesRoutingPointsGenerator
      • HomogenousRoutingPointsGenerator
      • IRoutingPointsGenerator
      • RandomRoutingPointsGenerator
      • SectionalRandomRoutingPointsGenerator
    • Mars.Components.Layers
      • AbstractActiveLayer
      • AbstractDataLayer
      • AbstractLayer
      • AgentSchedulerLayer<TAgent, TLayer>
      • BoundDataSet
      • DisposeBase
      • MatrixRaster
      • QuerySourceLoader
      • Raster
      • Raster<TValue>
      • RasterLayer
      • SchedulerEntry
      • SchedulerLayer
      • VectorFeature
      • VectorLayer
      • VectorLayer<T>
      • VectorLayerHelper
    • Mars.Components.Layers.Temporal
      • IQueryFieldProvider
      • ITemporalObjectCatalog
      • ITemporalObjectIterator
      • TemporalCatalogFeature<TKey>
      • TemporalFeatureKind
      • TemporalMetadataLoader
    • Mars.Components.Services
      • AgentManager
    • Mars.Components.Services.Explorations
      • BoltzmannExploration
      • EpsilonGreedyExploration
      • IExplorationPolicy
      • RouletteWheelExploration
      • TabuSearchExploration
    • Mars.Components.Services.Learning
      • InfiniteQLearning
      • QLearning
      • Sarsa
    • Mars.Components.Services.Planning
      • ActionPlanResult
      • GoapAction
      • GoapAgentStates
      • GoapGoal
      • GoapPlanner
      • GoapStateKey<T>
      • GoapStateProperty
      • GoapStateProperty<TElement>
      • IGoapAction
      • IGoapAgentStates
      • IGoapGoal
      • IGoapPlanner
      • IGoapStateKey
      • StatesCommons
    • Mars.Components.Services.Planning.ActionCommons
      • AllGoalsSatisfiedAction
      • NoGoalReachableAction
    • Mars.Components.Starter
      • Command
      • CommandArgumentContainer
      • CommandParser
      • CommandSet
      • HelpCommand
      • Option
      • OptionContext
      • OptionException
      • OptionSet
      • OptionValueCollection
      • OptionValueType
      • SimulationStarter
    • Mars.Components.Starter.Exceptions
      • SimulationStartupException
    • Mars.Interfaces
      • IModelObject
      • ISimulationContainer
      • ISimulationContext
      • ISimulationModule
      • ISimulationState
      • IStepExecutionContext
      • SimulationContext
      • SimulationContext.WorkflowStateType
    • Mars.Interfaces.Agents
      • IAgent
      • IAgent<TLayer>
      • IEntity
      • IMarsDslAgent
      • IModalCapabilitiesAgent
      • ISpatialGraphEntity
      • ITickClient
    • Mars.Interfaces.Annotations
      • ActiveConstructor
      • PropertyDescription
    • Mars.Interfaces.Data
      • AbstractDomainData
      • GeometryData
      • IDomainData
      • IGeometryData
      • IIdentifiableData
      • IMarsFeature
      • IRasterBandData
      • ISource
      • IStringData
      • IStringStructuredData
      • IStructuredData
      • IStructuredDataGeometry
      • IValueData
      • LayerInitData
      • RasterBandData
      • StringDataDto
      • StructuredData
      • VectorStructuredData
    • Mars.Interfaces.Environments
      • BoundingBox
      • DirectionType
      • EdgeExploreResult
      • EdgeStop
      • ExploreDirection
      • GeoPositionExtension
      • HighwayType
      • IEdge<TEdge, TNode>
      • IEntityLane<TEntity>
      • IEnvironment
      • IEnvironment<TEntity>
      • IGeoGridEnvironment<T>
      • IGraphEntity
      • IGraphEnvironment<TEdge, TNode>
      • INode<TEdge, TNode>
      • INodeGuard
      • IPositionable
      • IRoutePlanner
      • ISpatialEdge
      • ISpatialGraphEnvironment
      • ISpatialLane
      • ISpatialNode
      • LaneExploreResult
      • ModalChoice
      • MultimodalRoute
      • NodeIntegrationKind
      • Position
      • Route
      • RouteStop
      • Size
      • SpatialGraphExploreResult
      • SpatialModalityType
      • TrafficLightPhase
    • Mars.Interfaces.Layers
      • FinallySimulationStep
      • IBoundedDataLayer
      • IChangingLayer
      • IDataContainer
      • IDataLayer
      • IDataSet
      • ILayer
      • IMarsDslLayer
      • IModalChoiceConsumer
      • InitSimulationStep
      • INotifyChangedSource<T>
      • IRaster
      • IRaster<TValue>
      • IRasterLayer
      • ISteppedActiveLayer
      • IVectorFeature
      • IVectorLayer
      • IVectorLayer<T>
      • IVectorNode<TEntity>
      • RegisterAgent
      • UnregisterAgent
    • Mars.Interfaces.Model
      • ActiveTypeMapping
      • AgentMapping
      • AgentType
      • ConstructorType
      • ContainsOperator
      • DataContainer
      • DataType
      • EntityMapping
      • EntityType
      • Execution
      • FeatureType
      • Globals
      • IdentifiableElement
      • IndividualMapping
      • Input
      • InputConfiguration
      • LayerMapping
      • LayerType
      • ModelDescription
      • ModelElement
      • ObjectType
      • Output
      • OutputConfiguration
      • OutputFilter
      • OutputKind
      • OutputTargetType
      • ParameterMapping
      • Processing
      • ProcessingConfiguration
      • ProcessingTargetType
      • PropertyType
      • SimulationConfig
      • TimeSpanUnit
      • TimeSpanUnitExtensions
      • TypeElement
      • TypeMapping
    • Mars.Interfaces.Model.Converters
      • CultureConverter
      • SerializationTypeConverter
      • TimeSpanUnitConverter
    • Mars.Interfaces.Model.Exceptions
      • InvalidTypeException
      • MissingTypeException
    • Mars.Interfaces.Model.Options
      • AbstractEndpointOptions
      • AbstractFileOptions
      • AbstractOptions
      • AscOptions
      • CsvOptions
      • GeoJsonOptions
      • MongoOptions
      • MqttOptions
      • PostgresSqlOptions
      • RedisOptions
      • RelationalEndpointOptions
      • SerializationType
      • SocketOutputOptions
      • SpatialGraphOptions
      • SqLiteOptions
      • TripsOptions

    Class GoapAction

    Inheritance
    System.Object
    GoapAction
    AllGoalsSatisfiedAction
    NoGoalReachableAction
    Implements
    IGoapAction
    Namespace: Mars.Components.Services.Planning
    Assembly: Mars.Components.dll
    Syntax
    public abstract class GoapAction : object, IGoapAction

    Constructors

    GoapAction(IGoapAgentStates, Single)

    Declaration
    protected GoapAction(IGoapAgentStates agentStates, float cost = null)
    Parameters
    Type Name Description
    IGoapAgentStates agentStates
    System.Single cost

    Properties

    Cost

    Declaration
    public float Cost { get; protected set; }
    Property Value
    Type Description
    System.Single

    Effects

    Declaration
    public IDictionary<IGoapStateKey, GoapStateProperty> Effects { get; }
    Property Value
    Type Description
    IDictionary<IGoapStateKey, GoapStateProperty>

    Preconditions

    Declaration
    public IDictionary<IGoapStateKey, GoapStateProperty> Preconditions { get; }
    Property Value
    Type Description
    IDictionary<IGoapStateKey, GoapStateProperty>

    Methods

    AddOrUpdateEffect(GoapStateProperty)

    Declaration
    public void AddOrUpdateEffect(GoapStateProperty effect)
    Parameters
    Type Name Description
    GoapStateProperty effect

    AddOrUpdateEffect<T>(KeyValuePair<GoapStateKey<T>, T>)

    Adds an effect to this action or updates an existing effect with the same key.
    Declaration
    public void AddOrUpdateEffect<T>(KeyValuePair<GoapStateKey<T>, T> kvp)
    Parameters
    Type Name Description
    KeyValuePair<GoapStateKey<T>, T> kvp Identifies the state property.
    Type Parameters
    Name Description
    T The type of value.

    AddOrUpdateEffect<T>(GoapStateKey<T>, T)

    Adds an effect to this action or updates an existing effect with the same key.
    Declaration
    public void AddOrUpdateEffect<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.

    AddOrUpdatePrecondition(GoapStateProperty)

    Declaration
    public void AddOrUpdatePrecondition(GoapStateProperty precondition)
    Parameters
    Type Name Description
    GoapStateProperty precondition

    AddOrUpdatePrecondition<T>(KeyValuePair<GoapStateKey<T>, T>)

    Adds a precondition to this action or updates an existing precondition with the same key.
    Declaration
    public void AddOrUpdatePrecondition<T>(KeyValuePair<GoapStateKey<T>, T> kvp)
    Parameters
    Type Name Description
    KeyValuePair<GoapStateKey<T>, T> kvp Identifies the state property.
    Type Parameters
    Name Description
    T The type of value.

    AddOrUpdatePrecondition<T>(GoapStateKey<T>, T)

    Adds a precondition to this action or updates an existing precondition with the same key.
    Declaration
    public void AddOrUpdatePrecondition<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.

    Execute()

    Declaration
    public bool Execute()
    Returns
    Type Description
    System.Boolean

    ExecuteAction()

    Simply executes the specific action code, without GOAP overhead organization.
    Declaration
    protected abstract bool ExecuteAction()
    Returns
    Type Description
    System.Boolean True, if the action instructions were successful, false otherwise

    RemoveEffect(GoapStateProperty)

    Declaration
    public void RemoveEffect(GoapStateProperty effect)
    Parameters
    Type Name Description
    GoapStateProperty effect

    RemoveEffect(IGoapStateKey)

    Removes an effect with given key.
    Declaration
    public void RemoveEffect(IGoapStateKey effectKey)
    Parameters
    Type Name Description
    IGoapStateKey effectKey Identifies the effect that should be removed.

    RemovePrecondition(GoapStateProperty)

    Declaration
    public void RemovePrecondition(GoapStateProperty precondition)
    Parameters
    Type Name Description
    GoapStateProperty precondition

    RemovePrecondition(IGoapStateKey)

    Removes a precondition with given key.
    Declaration
    public void RemovePrecondition(IGoapStateKey preconditionKey)
    Parameters
    Type Name Description
    IGoapStateKey preconditionKey Identifies the precondition that should be removed.

    UpdateCost()

    Declaration
    public virtual void UpdateCost()

    Implements

    IGoapAction
    Back to top Copyright © MARS GROUP.
    HAW Hamburg