Arbor 3: FSM & BT Graph Editor  3.7.8
BehaviourTreeInternal Class Reference

Internal class of Arbor.BehaviourTree. More...

Inheritance diagram for BehaviourTreeInternal:
NodeGraph IPoolCallbackReceiver BehaviourTree

Public Member Functions

bool IsRevaluation (TreeNodeBase node)
 It returns the reevaluation node. More...
 
void Play ()
 Start playing the behaviour tree. More...
 
void Stop ()
 Stopping playback of the behaviour tree. More...
 
void Pause ()
 Pause playback of the behaviour tree. More...
 
void Resume ()
 Resume playing behaviour tree. More...
 
CompositeNode CreateComposite (Vector2 position, int nodeID, System.Type classType)
 Create Composite. More...
 
CompositeNode CreateComposite (Vector2 position, System.Type classType)
 Create Composite. More...
 
ActionNode CreateAction (Vector2 position, int nodeID, System.Type classType)
 Create ActionNode. More...
 
ActionNode CreateAction (Vector2 position, System.Type classType)
 Create ActionNode. More...
 
void CalculatePriority ()
 Calculate priority of nodes. More...
 
override void OnValidateNodes ()
 Called when the node is changed. More...
 
bool CheckLoop (TreeNodeBase parentNode, TreeNodeBase childNode)
 Check whether the connection of the node is looping. More...
 
NodeBranch ConnectBranch (int branchID, TreeNodeBase parentNode, TreeNodeBase childNode)
 Connect NodeBranch. More...
 
NodeBranch ConnectBranch (TreeNodeBase parentNode, TreeNodeBase childNode)
 Connect NodeBranch. More...
 
void DisconnectBranch (NodeBranch branch)
 Disconnect NodeBranch More...
 
void Execute ()
 Execute manually. More...
 
- Public Member Functions inherited from NodeGraph
Node GetNodeFromIndex (int index)
 Get Node from index. More...
 
Node GetNodeFromID (int nodeID)
 Gets Arbor.Node from the node identifier. More...
 
CalculatorNode GetCalculatorFromIndex (int index)
 Get CalculatorNode from index. More...
 
int GetCalculatorIndex (CalculatorNode calculator)
 Get CalculatorNode index. More...
 
CalculatorNode GetCalculatorFromID (int calculatorID)
 Gets Arbor.CalculatorNode from the calculator identifier. More...
 
CalculatorNode CreateCalculator (int nodeID, System.Type calculatorType)
 Create calculator. More...
 
CalculatorNode CreateCalculator (System.Type calculatorType)
 Create calculator. More...
 
CalculatorNode FindCalculator (Calculator calculator)
 Acquisition of CalculatorNodes Calculator belongs. More...
 
bool DeleteCalculator (CalculatorNode calculatorNode)
 Delete calculator. More...
 
CommentNode GetCommentFromIndex (int index)
 Get CommentNode from index. More...
 
int GetCommentIndex (CommentNode comment)
 Get CommentNode index. More...
 
CommentNode GetCommentFromID (int commentID)
 Gets Arbor.CommentNode from the comment identifier. More...
 
CommentNode CreateComment (int nodeID)
 Create comment. More...
 
CommentNode CreateComment ()
 Create comment. More...
 
void DeleteComment (CommentNode comment)
 Delete comment. More...
 
GroupNode GetGroupFromIndex (int index)
 Get GroupNode from index. More...
 
GroupNode CreateGroup (int nodeID)
 Create group. More...
 
GroupNode CreateGroup ()
 Create group. More...
 
void DeleteGroup (GroupNode group)
 Delete group. More...
 
GroupNode GetGroupFromID (int groupID)
 Gets Arbor.GroupNode from the group identifier. More...
 
DataBranchRerouteNode CreateDataBranchRerouteNode (Vector2 position, System.Type type, int nodeID)
 Create DataBranchRerouteNode. More...
 
DataBranchRerouteNode CreateCalculatorBranchRerouteNode (Vector2 position, System.Type type, int nodeID)
 Create DataBranchRerouteNode. More...
 
DataBranchRerouteNode CreateDataBranchRerouteNode (Vector2 position, System.Type type)
 Create DataBranchRerouteNode. More...
 
DataBranchRerouteNode CreateCalculatorBranchRerouteNode (Vector2 position, System.Type type)
 Create DataBranchRerouteNode. More...
 
void DeleteDataBranchRerouteNode (DataBranchRerouteNode rerouteNode)
 Delete DataBranchRerouteNode. More...
 
void DeleteCalculatorBranchRerouteNode (DataBranchRerouteNode rerouteNode)
 Delete DataBranchRerouteNode. More...
 
bool DeleteNode (Node node)
 Delete node. More...
 
Node FindNodeContainsBehaviour (NodeBehaviour behaviour)
 Acquisition of nodes NodeBehaviour belongs. More...
 
DataBranch GetDataBranchFromIndex (int index)
 Get DataBranch from index. More...
 
DataBranch GetCalculatorBranchFromIndex (int index)
 Get DataBranch from index. More...
 
int GetDataBranchIndex (DataBranch branch)
 Get DataBranch index. More...
 
int GetCalculatorBranchIndex (DataBranch branch)
 Get DataBranch index. More...
 
DataBranch GetDataBranchFromID (int branchID)
 Gets Arbor.DataBranch from the calculator branch identifier. More...
 
DataBranch GetCalculatorBranchFromID (int branchID)
 Gets Arbor.DataBranch from the calculator branch identifier. More...
 
DataBranch ConnectDataBranch (int branchID, int inputNodeID, Object inputObj, DataSlot inputSlot, int outputNodeID, Object outputObj, DataSlot outputSlot)
 Connect DataSlot. More...
 
DataBranch ConnectCalculatorBranch (int branchID, int inputNodeID, Object inputObj, DataSlot inputSlot, int outputNodeID, Object outputObj, DataSlot outputSlot)
 Connect DataSlot. More...
 
DataBranch ConnectDataBranch (int inputNodeID, Object inputObj, DataSlot inputSlot, int outputNodeID, Object outputObj, DataSlot outputSlot)
 Connect DataSlot. More...
 
DataBranch ConnectCalculatorBranch (int inputNodeID, Object inputObj, DataSlot inputSlot, int outputNodeID, Object outputObj, DataSlot outputSlot)
 Connect DataSlot. More...
 
void DisconnectDataBranch (Object obj)
 Method to be used internally. More...
 
void DeleteDataBranch (DataBranch branch)
 Delete DataBranch. More...
 
void DeleteCalculatorBranch (DataBranch branch)
 Delete DataBranch. More...
 
bool CheckLoopDataBranch (int inputNodeID, Object inputObj, int outputNodeID, Object outputObj)
 Check if DataBranch is looping. More...
 
bool CheckLoopCalculatorBranch (int inputNodeID, Object inputObj, int outputNodeID, Object outputObj)
 Check if DataBranch is looping. More...
 
delegate void NodeGraphCallback (NodeGraph nodeGraph)
 Delegate for NodeGraph callback More...
 
virtual void OnDestroy ()
 This function is called when MonoBehaivour will be destroyed. More...
 
void DestroySubComponents (bool callback=true)
 Method to be used internally. More...
 
override string ToString ()
 Convert graph to string (for debugging). More...
 
void OnPoolResume ()
 Called when resuming. More...
 
void OnPoolSleep ()
 Called when stored in the pool. More...
 

Public Attributes

bool playOnStart = true
 Flag to be played at the start. More...
 
bool restartOnFinish = true
 Flag to restart at finish. More...
 
UpdateSettings updateSettings = new UpdateSettings()
 Settings related to updating. More...
 
ExecutionSettings executionSettings = new ExecutionSettings()
 Settings related to execution. More...
 
- Public Attributes inherited from NodeGraph
string graphName = ""
 The Graph name. More...
 
DebugInfiniteLoopSettings debugInfiniteLoopSettings = new DebugInfiniteLoopSettings()
 Debug setting of infinite loop More...
 

Protected Member Functions

sealed override void OnReset ()
 Reset or create callback. More...
 
override bool OnDeleteNode (Node node)
 Delete node. More...
 
sealed override void OnRegisterNodes ()
 Register nodes More...
 
- Protected Member Functions inherited from NodeGraph
virtual void OnValidate ()
 See MonoBehaviour.OnValidate. More...
 

Properties

PlayState playState [get]
 Play state More...
 
NodeBranchies nodeBranchies [get]
 Get NodeBranch List More...
 
CompositeNodeList compositeNodes [get]
 Get CompositeNode List More...
 
ActionNodeList actionNodes [get]
 Get ActionNode List More...
 
RootNode rootNode [get]
 Get RootNode More...
 
TreeNodeBase currentNode [get]
 Current active node More...
 
- Properties inherited from NodeGraph
NodeGraph parentGraph [get]
 Parent graph More...
 
NodeGraph rootGraph [get]
 Root graph More...
 
Object ownerBehaviourObject [get, set]
 Object of NodeBehaviour own this graph More...
 
NodeBehaviour ownerBehaviour [get, set]
 NodeBehaviour is the owner of this graph More...
 
ParameterContainerInternal parameterContainer [get]
 The ParameterContainer assigned in this graph More...
 
string displayGraphName [get]
 Display name of the node graph. More...
 
DebugInfiniteLoopSettings currentDebugInfiniteLoopSettings [get]
 Current infinite loop debug setting. More...
 
bool external [get]
 Flag instantiated from external graph More...
 
int nodeCount [get]
 Get a count of Node. More...
 
int calculatorCount [get]
 Get a count of CalculatorNode. More...
 
CalculatorNode[] calculators [get]
 Gets all of Arbor.CalculatorNode. More...
 
int commentCount [get]
 Get a count of CommentNode. More...
 
CommentNode[] comments [get]
 Gets all of Arbor.CommentNode. More...
 
int groupCount [get]
 Get a count of GroupNode. More...
 
DataBranchRerouteNodeList dataBranchRerouteNodes [get]
 DataBranchRerouteNode list More...
 
DataBranchRerouteNodeList calculatorBranchRerouteNodes [get]
 DataBranchRerouteNode list More...
 
int dataBranchCount [get]
 Get a count of DataBranch. More...
 
int calculatorBranchCount [get]
 Get a count of DataBranch. More...
 
DataBranch[] calculatorBranchies [get]
 Gets all of Arbor.DataBranch. More...
 
bool isDeserialized [get]
 Returns whether or not deserialization has been done. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from NodeGraph
static NodeGraph FindGraph (string name)
 Get the NodeGraph that in the scene with the name. More...
 
static NodeGraph FindGraph (string name, System.Type type)
 Get the NodeGraph that in the scene with the name. More...
 
static T FindGraph< T > (string name)
 Get the NodeGraph that in the scene with the name. More...
 
static NodeGraph[] FindGraphs (string name)
 Get the NodeGraph of the same name that is in the scene. More...
 
static NodeGraph[] FindGraphs (string name, System.Type type)
 Get the NodeGraph of the same name that is in the scene. More...
 
static T[] FindGraphs< T > (string name)
 Get the NodeGraph of the same name that is in the scene. More...
 
static NodeGraph FindGraph (GameObject gameObject, string name)
 Get NodeGraph in the name that has been attached to the GameObject. More...
 
static NodeGraph FindGraph (GameObject gameObject, string name, System.Type type)
 Get NodeGraph in the name that has been attached to the GameObject. More...
 
static T FindGraph< T > (GameObject gameObject, string name)
 Get NodeGraph in the name that has been attached to the GameObject. More...
 
static NodeGraph[] FindGraphs (GameObject gameObject, string name)
 Get the NodeGraph of the same name that is attached to a GameObject. More...
 
static NodeGraph[] FindGraphs (GameObject gameObject, string name, System.Type type)
 Get the NodeGraph of the same name that is attached to a GameObject. More...
 
static T[] FindGraphs< T > (GameObject gameObject, string name)
 Get the NodeGraph of the same name that is attached to a GameObject. More...
 
static NodeGraph Create (GameObject gameObject, System.Type classType)
 Create NodeGraph More...
 
static GraphType Create< GraphType > (GameObject gameObject)
 Create NodeGraph More...
 
static NodeGraph Instantiate (NodeGraph sourceGraph, NodeBehaviour ownerBehaviour, bool usePool=false)
 Instantiate NodeGraph More...
 
static GraphType Instantiate< GraphType > (GraphType sourceGraph, NodeBehaviour ownerBehaviour, bool usePool=false)
 Instantiate NodeGraph More...
 
static void Destroy (NodeGraph nodeGraph)
 Destroy NodeGraph More...
 
- Events inherited from NodeGraph
System.Action onAfterDeserialize
 Callback after deserialization More...
 
NodeGraphCallback destroyCallback
 Call back when being destroyed More...
 
NodeGraphCallback stateChangedCallback
 Call back when the state changes More...
 

Detailed Description

Internal class of Arbor.BehaviourTree.

To actually attach to GameObject is to use the Arbor.BehaviourTree.

Member Function Documentation

◆ CalculatePriority()

void CalculatePriority ( )

Calculate priority of nodes.

◆ CheckLoop()

bool CheckLoop ( TreeNodeBase  parentNode,
TreeNodeBase  childNode 
)

Check whether the connection of the node is looping.

Parameters
parentNodeParent node
childNodeChild node
Returns
Returns true if it is looping.

◆ ConnectBranch() [1/2]

NodeBranch ConnectBranch ( int  branchID,
TreeNodeBase  parentNode,
TreeNodeBase  childNode 
)

Connect NodeBranch.

Parameters
branchIDID of the NodeBranch to be created
parentNodeParent node.
childNodeChild node.
Returns
Connected NodeBranch

◆ ConnectBranch() [2/2]

NodeBranch ConnectBranch ( TreeNodeBase  parentNode,
TreeNodeBase  childNode 
)

Connect NodeBranch.

Parameters
parentNodeParent node.
childNodeChild node.
Returns
Connected NodeBranch

◆ CreateAction() [1/2]

ActionNode CreateAction ( Vector2  position,
int  nodeID,
System.Type  classType 
)

Create ActionNode.

Parameters
positionNode position
nodeIDNode ID
classTypeActionBehaviour type
Returns
The created action node.

◆ CreateAction() [2/2]

ActionNode CreateAction ( Vector2  position,
System.Type  classType 
)

Create ActionNode.

Parameters
positionNode position
classTypeActionBehaviour type
Returns
The created action node.

◆ CreateComposite() [1/2]

CompositeNode CreateComposite ( Vector2  position,
int  nodeID,
System.Type  classType 
)

Create Composite.

Parameters
positionNode position
nodeIDNode ID
classTypeCompositeBehaviour type
Returns
The created coomposite node.

◆ CreateComposite() [2/2]

CompositeNode CreateComposite ( Vector2  position,
System.Type  classType 
)

Create Composite.

Parameters
positionNode position
classTypeCompositeBehaviour type
Returns
The created coomposite node.

◆ DisconnectBranch()

void DisconnectBranch ( NodeBranch  branch)

Disconnect NodeBranch

Parameters
branchDisconnect NodeBranch

◆ Execute()

void Execute ( )

Execute manually.

Please call this method at any timing when UpdateSettings.type is Manual.

◆ IsRevaluation()

bool IsRevaluation ( TreeNodeBase  node)

It returns the reevaluation node.

Parameters
nodeNode
Returns
Returns true if it is a reevaluation node.

◆ OnDeleteNode()

override bool OnDeleteNode ( Node  node)
protectedvirtual

Delete node.

Parameters
nodeThe node to delete
Returns
Returns true if deleted, false otherwise.

Implements NodeGraph.

◆ OnRegisterNodes()

sealed override void OnRegisterNodes ( )
protectedvirtual

Register nodes

Implements NodeGraph.

◆ OnReset()

sealed override void OnReset ( )
protectedvirtual

Reset or create callback.

Reimplemented from NodeGraph.

◆ OnValidateNodes()

override void OnValidateNodes ( )
virtual

Called when the node is changed.

Reimplemented from NodeGraph.

◆ Pause()

void Pause ( )

Pause playback of the behaviour tree.

◆ Play()

void Play ( )

Start playing the behaviour tree.

◆ Resume()

void Resume ( )

Resume playing behaviour tree.

◆ Stop()

void Stop ( )

Stopping playback of the behaviour tree.

Member Data Documentation

◆ executionSettings

ExecutionSettings executionSettings = new ExecutionSettings()

Settings related to execution.

◆ playOnStart

bool playOnStart = true

Flag to be played at the start.

◆ restartOnFinish

bool restartOnFinish = true

Flag to restart at finish.

◆ updateSettings

UpdateSettings updateSettings = new UpdateSettings()

Settings related to updating.

Property Documentation

◆ actionNodes

ActionNodeList actionNodes
get

Get ActionNode List

◆ compositeNodes

CompositeNodeList compositeNodes
get

Get CompositeNode List

◆ currentNode

TreeNodeBase currentNode
get

Current active node

◆ nodeBranchies

NodeBranchies nodeBranchies
get

Get NodeBranch List

◆ playState

PlayState playState
get

Play state

◆ rootNode

RootNode rootNode
get

Get RootNode