Grail (C#)  1.4.0
A multi-platform, modular, universal engine for embedding advanced AI in games.
Grail.FSM.FSMBehavior Class Reference

Class responsible for assigning behaviors using Finite State Machine algorithm. More...

Inheritance diagram for Grail.FSM.FSMBehavior:
Collaboration diagram for Grail.FSM.FSMBehavior:

Public Member Functions

 FSMBehavior (List<(IState sourceState, IState destinationState, Func< bool >)> transitions, IState initialState, string stateMachineName)
 Constructor. More...
 
 FSMBehavior (FiniteStateMachine stateMachine)
 
sealed override void Start (AIEntity owner)
 
sealed override void Update (AIEntity owner, float deltaTime)
 
sealed override void Finish (AIEntity owner, in BehaviorStatus status)
 
override bool IsFinished (AIEntity owner)
 
- Public Member Functions inherited from Grail.Core.Behavior
 Behavior (Behavior recoveryBehavior=null)
 
virtual bool IsLegal (AIEntity owner)
 
virtual bool IsInterruptible ()
 

Additional Inherited Members

- Public Attributes inherited from Grail.Core.Behavior
virtual Behavior RecoveryBehavior => recoveryBehavior
 
- Protected Attributes inherited from Grail.Core.Behavior
Behavior recoveryBehavior
 
- Properties inherited from Grail.Core.Behavior
BehaviorStatus Status [get, set]
 

Detailed Description

Class responsible for assigning behaviors using Finite State Machine algorithm.

Constructor & Destructor Documentation

◆ FSMBehavior()

Grail.FSM.FSMBehavior.FSMBehavior ( List<(IState sourceState, IState destinationState, Func< bool >)>  transitions,
IState  initialState,
string  stateMachineName 
)
inline

Constructor.

Parameters
transitionsConsiderations used to determine possible transitions from given state.
initialStateState with which this state machine will be initialized.
stateMachineNameName of this state machine.

Member Function Documentation

◆ Finish()

sealed override void Grail.FSM.FSMBehavior.Finish ( AIEntity  owner,
in BehaviorStatus  status 
)
inlinevirtual

Invoked after the behavior is finished or interrupted

Parameters
owner- the entity executing this behavior

Reimplemented from Grail.Core.Behavior.

◆ IsFinished()

override bool Grail.FSM.FSMBehavior.IsFinished ( AIEntity  owner)
inlinevirtual
Parameters
owner- the entity executing this behavior

Reimplemented from Grail.Core.Behavior.

◆ Start()

sealed override void Grail.FSM.FSMBehavior.Start ( AIEntity  owner)
inlinevirtual

Invoked after the behavior is assigned to AIEntity

Parameters
owner- the entity executing this behavior

Reimplemented from Grail.Core.Behavior.

◆ Update()

sealed override void Grail.FSM.FSMBehavior.Update ( AIEntity  owner,
float  deltaTime 
)
inlinevirtual

Invoked on each AIManager update

Parameters
owner- the entity executing this behavior

Reimplemented from Grail.Core.Behavior.


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