Grail (C#)  1.3.0
A multi-platform, modular, universal engine for embedding advanced AI in games.
Grail.Core.BehaviorSequence Class Reference

The BehaviorSequence class - specialized Behavior executing sequence of provided subbehaviors one by one. More...

Inheritance diagram for Grail.Core.BehaviorSequence:
Collaboration diagram for Grail.Core.BehaviorSequence:

Public Member Functions

void AddBehavior (Behavior behavior)
 AddBehavior - method emplacing new behavior in the sequence More...
 
override void Start (AIEntity owner)
 
override void Update (AIEntity owner, float deltaTime)
 
override void Finish (AIEntity owner, in BehaviorStatus status)
 
override bool IsFinished (AIEntity owner)
 
override bool IsLegal (AIEntity owner)
 IsLegal More...
 
override bool IsInterruptible ()
 IsInterruptible More...
 
- Public Member Functions inherited from Grail.Core.Behavior
 Behavior (Behavior recoveryBehavior=null)
 

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

The BehaviorSequence class - specialized Behavior executing sequence of provided subbehaviors one by one.

Member Function Documentation

◆ AddBehavior()

void Grail.Core.BehaviorSequence.AddBehavior ( Behavior  behavior)
inline

AddBehavior - method emplacing new behavior in the sequence

Parameters
behaviorbehavior added to the sequence

◆ Finish()

override void Grail.Core.BehaviorSequence.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.Core.BehaviorSequence.IsFinished ( AIEntity  owner)
inlinevirtual
Parameters
owner- the entity executing this behavior

Reimplemented from Grail.Core.Behavior.

◆ IsInterruptible()

override bool Grail.Core.BehaviorSequence.IsInterruptible ( )
inlinevirtual

IsInterruptible

Returns
true if current subbehavior is interruptible, false otherwise

Reimplemented from Grail.Core.Behavior.

◆ IsLegal()

override bool Grail.Core.BehaviorSequence.IsLegal ( AIEntity  owner)
inlinevirtual

IsLegal

Parameters
owner
Returns
true if current subbehavior is legal, false otherwise

Reimplemented from Grail.Core.Behavior.

◆ Start()

override void Grail.Core.BehaviorSequence.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()

override void Grail.Core.BehaviorSequence.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: