Grail (C#)  1.3.0
A multi-platform, modular, universal engine for embedding advanced AI in games.
Grail.Planners.Goal Class Referenceabstract

Represents a planner goal, used by PlannerReasoner More...

Public Member Functions

abstract bool IsReached (AIEntity entity)
 
abstract void SetPlanSpaceConditions (Planner planner, ObjectIndexBinding binding)
 In this method, all plan-space goal conditions should be set. More...
 
virtual void OnChosen (AIEntity goalPursuer)
 /// Called after the Goal is set by the reasoner. More...
 
virtual void OnReached (AIEntity goalPursuer)
 Called by the PlannerReasoner after Goal.IsReached method returns true More...
 
virtual void OnReapplied (AIEntity goalPursuer)
 /// Called if the current plan failed to achieve this goal but it got chosen once again More...
 

Public Attributes

virtual PlannerHeuristic Heuristic => null
 

Detailed Description

Represents a planner goal, used by PlannerReasoner

Member Function Documentation

◆ OnChosen()

virtual void Grail.Planners.Goal.OnChosen ( AIEntity  goalPursuer)
inlinevirtual

/// Called after the Goal is set by the reasoner.

Parameters
goalPursuerThe entity that has chosen this goal

◆ OnReached()

virtual void Grail.Planners.Goal.OnReached ( AIEntity  goalPursuer)
inlinevirtual

Called by the PlannerReasoner after Goal.IsReached method returns true

Parameters
goalPursuerThe entity that has chosen this goal

◆ OnReapplied()

virtual void Grail.Planners.Goal.OnReapplied ( AIEntity  goalPursuer)
inlinevirtual

/// Called if the current plan failed to achieve this goal but it got chosen once again

Parameters
goalPursuerthe entity that has chosen this goal

◆ SetPlanSpaceConditions()

abstract void Grail.Planners.Goal.SetPlanSpaceConditions ( Planner  planner,
ObjectIndexBinding  binding 
)
pure virtual

In this method, all plan-space goal conditions should be set.

Parameters
plannerThe planner to be provided with goal conditions. Use Planner.PushCondition method.

The documentation for this class was generated from the following file: