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

Arbor.BehaviourTreeの内部クラス。 実際にGameObjectにアタッチするにはArbor.BehaviourTreeを使用する。 More...

Inheritance diagram for BehaviourTreeInternal:
NodeGraph IPoolCallbackReceiver BehaviourTree

Public Member Functions

bool IsRevaluation (TreeNodeBase node)
 再評価ノードかを返す。 More...
 
void Play ()
 ビヘイビアツリーの再生を開始。 More...
 
void Stop ()
 ビヘイビアツリーの再生を停止。 More...
 
void Pause ()
 ビヘイビアツリーの再生を一時停止。 More...
 
void Resume ()
 ビヘイビアツリーの再生を再開。 More...
 
CompositeNode CreateComposite (Vector2 position, int nodeID, System.Type classType)
 CompositeNodeを生成。 More...
 
CompositeNode CreateComposite (Vector2 position, System.Type classType)
 CompositeNodeを生成。 More...
 
ActionNode CreateAction (Vector2 position, int nodeID, System.Type classType)
 ActionNodeを生成。 More...
 
ActionNode CreateAction (Vector2 position, System.Type classType)
 ActionNodeを生成。 More...
 
void CalculatePriority ()
 ノードの優先度を計算する。 More...
 
override void OnValidateNodes ()
 ノードが変更された際に呼ばれる。 More...
 
bool CheckLoop (TreeNodeBase parentNode, TreeNodeBase childNode)
 ノードの接続がループしているかチェックする。 More...
 
NodeBranch ConnectBranch (int branchID, TreeNodeBase parentNode, TreeNodeBase childNode)
 NodeBranchの接続 More...
 
NodeBranch ConnectBranch (TreeNodeBase parentNode, TreeNodeBase childNode)
 NodeBranchの接続 More...
 
void DisconnectBranch (NodeBranch branch)
 NodeBranchの切断 More...
 
void Execute ()
 手動で実行する。 UpdateSettings.typeがManualの場合に任意のタイミングでこのメソッドを呼んでください。 More...
 
- Public Member Functions inherited from NodeGraph
Node GetNodeFromIndex (int index)
 Nodeをインデックスから取得 More...
 
Node GetNodeFromID (int nodeID)
 ノードIDを指定してArbor.Nodeを取得する。 More...
 
CalculatorNode GetCalculatorFromIndex (int index)
 CalculatorNodeをインデックスから取得 More...
 
int GetCalculatorIndex (CalculatorNode calculator)
 CalculatorNodeのインデックスを取得 More...
 
CalculatorNode GetCalculatorFromID (int calculatorID)
 演算ノードIDを指定してArbor.CalculatorNodeを取得する。 More...
 
CalculatorNode CreateCalculator (int nodeID, System.Type calculatorType)
 演算ノードを生成。 More...
 
CalculatorNode CreateCalculator (System.Type calculatorType)
 演算ノードを生成。 More...
 
CalculatorNode FindCalculator (Calculator calculator)
 Calculatorが属しているCalculatorNodeの取得。 More...
 
bool DeleteCalculator (CalculatorNode calculatorNode)
 演算ノードの削除。 More...
 
CommentNode GetCommentFromIndex (int index)
 CommentNodeをインデックスから取得 More...
 
int GetCommentIndex (CommentNode comment)
 CommentNodeのインデックスを取得 More...
 
CommentNode GetCommentFromID (int commentID)
 コメントIDを指定してArbor.CommentNodeを取得する。 More...
 
CommentNode CreateComment (int nodeID)
 コメントを生成。 More...
 
CommentNode CreateComment ()
 コメントを生成。 More...
 
void DeleteComment (CommentNode comment)
 コメントの削除。 More...
 
GroupNode GetGroupFromIndex (int index)
 GroupNodeをインデックスから取得 More...
 
GroupNode CreateGroup (int nodeID)
 グループを生成。 More...
 
GroupNode CreateGroup ()
 グループを生成。 More...
 
void DeleteGroup (GroupNode group)
 グループの削除。 More...
 
GroupNode GetGroupFromID (int groupID)
 グループIDを指定してArbor.GroupNodeを取得する。 More...
 
DataBranchRerouteNode CreateDataBranchRerouteNode (Vector2 position, System.Type type, int nodeID)
 DataBranchRerouteNodeを生成。 More...
 
DataBranchRerouteNode CreateCalculatorBranchRerouteNode (Vector2 position, System.Type type, int nodeID)
 DataBranchRerouteNodeを生成。 More...
 
DataBranchRerouteNode CreateDataBranchRerouteNode (Vector2 position, System.Type type)
 DataBranchRerouteNodeを生成。 More...
 
DataBranchRerouteNode CreateCalculatorBranchRerouteNode (Vector2 position, System.Type type)
 DataBranchRerouteNodeを生成。 More...
 
void DeleteDataBranchRerouteNode (DataBranchRerouteNode rerouteNode)
 DataBranchRerouteNodeの削除。 More...
 
void DeleteCalculatorBranchRerouteNode (DataBranchRerouteNode rerouteNode)
 DataBranchRerouteNodeの削除。 More...
 
bool DeleteNode (Node node)
 ノードの削除。 More...
 
Node FindNodeContainsBehaviour (NodeBehaviour behaviour)
 NodeBehaviourが属しているノードの取得。 More...
 
DataBranch GetDataBranchFromIndex (int index)
 DataBranchをインデックスから取得 More...
 
DataBranch GetCalculatorBranchFromIndex (int index)
 DataBranchをインデックスから取得 More...
 
int GetDataBranchIndex (DataBranch branch)
 DataBranchのインデックスを取得 More...
 
int GetCalculatorBranchIndex (DataBranch branch)
 DataBranchのインデックスを取得 More...
 
DataBranch GetDataBranchFromID (int branchID)
 演算ブランチIDを指定してArbor.DataBranchを取得する。 More...
 
DataBranch GetCalculatorBranchFromID (int branchID)
 演算ブランチIDを指定してArbor.DataBranchを取得する。 More...
 
DataBranch ConnectDataBranch (int branchID, int inputNodeID, Object inputObj, DataSlot inputSlot, int outputNodeID, Object outputObj, DataSlot outputSlot)
 DataSlotの接続 More...
 
DataBranch ConnectCalculatorBranch (int branchID, int inputNodeID, Object inputObj, DataSlot inputSlot, int outputNodeID, Object outputObj, DataSlot outputSlot)
 DataSlotの接続 More...
 
DataBranch ConnectDataBranch (int inputNodeID, Object inputObj, DataSlot inputSlot, int outputNodeID, Object outputObj, DataSlot outputSlot)
 DataSlotの接続 More...
 
DataBranch ConnectCalculatorBranch (int inputNodeID, Object inputObj, DataSlot inputSlot, int outputNodeID, Object outputObj, DataSlot outputSlot)
 DataSlotの接続 More...
 
void DisconnectDataBranch (Object obj)
 内部的に使用するメソッド。特に呼び出す必要はありません。 More...
 
void DeleteDataBranch (DataBranch branch)
 DataBranchの削除。 More...
 
void DeleteCalculatorBranch (DataBranch branch)
 DataBranchの削除。 More...
 
bool CheckLoopDataBranch (int inputNodeID, Object inputObj, int outputNodeID, Object outputObj)
 DataBranchがループしているかをチェックする。 More...
 
bool CheckLoopCalculatorBranch (int inputNodeID, Object inputObj, int outputNodeID, Object outputObj)
 DataBranchがループしているかをチェックする。 More...
 
delegate void NodeGraphCallback (NodeGraph nodeGraph)
 NodeGraphのコールバック用デリゲート More...
 
void DestroySubComponents ()
 内部的に使用するメソッド。特に呼び出す必要はありません。 More...
 
override string ToString ()
 グラフを文字列に変換(デバッグ用)。 More...
 
void OnPoolResume ()
 再開する際に呼ばれる。 More...
 
void OnPoolSleep ()
 プールに格納された際に呼ばれる。 More...
 

Public Attributes

bool playOnStart = true
 開始時に再生するフラグ。 More...
 
bool restartOnFinish = true
 終了時に再開するフラグ。 More...
 
UpdateSettings updateSettings = new UpdateSettings()
 更新に関する設定。 More...
 
ExecutionSettings executionSettings = new ExecutionSettings()
 実行に関する設定。 More...
 
- Public Attributes inherited from NodeGraph
string graphName
 グラフの名前。
一つのGameObjectに複数のグラフがある場合の識別や検索に使用する。 More...
 
DebugInfiniteLoopSettings debugInfiniteLoopSettings = new DebugInfiniteLoopSettings()
 無限ループのデバッグ設定 More...
 

Protected Member Functions

sealed override void OnReset ()
 Resetもしくは生成時のコールバック。 More...
 
override bool OnDeleteNode (Node node)
 ノードの削除。 More...
 
- Protected Member Functions inherited from NodeGraph
virtual void OnValidate ()
 MonoBehaviour.OnValidate を参照してください More...
 

Properties

PlayState playState [get]
 再生状態 More...
 
NodeBranchies nodeBranchies [get]
 NodeBranchのリストを取得 More...
 
CompositeNodeList compositeNodes [get]
 CompositeNodeのリストを取得 More...
 
ActionNodeList actionNodes [get]
 ActionNodeのリストを取得 More...
 
RootNode rootNode [get]
 RootNodeを取得 More...
 
TreeNodeBase currentNode [get]
 現在のアクティブノード More...
 
- Properties inherited from NodeGraph
NodeGraph parentGraph [get]
 親グラフ More...
 
NodeGraph rootGraph [get]
 ルートグラフ More...
 
Object ownerBehaviourObject [get, set]
 このグラフの所有者であるNodeBehaviourのObject More...
 
NodeBehaviour ownerBehaviour [get, set]
 このグラフの所有者であるNodeBehaviour More...
 
string displayGraphName [get]
 ノードグラフの表示名。graphNameが空かnullの場合は"(No Name)"を返す。 More...
 
DebugInfiniteLoopSettings currentDebugInfiniteLoopSettings [get]
 現在の無限ループデバッグ設定。 More...
 
bool external [get]
 外部グラフから生成されたフラグ More...
 
int nodeCount [get]
 Nodeの数を取得。 More...
 
int calculatorCount [get]
 CalculatorNodeの数を取得。 More...
 
CalculatorNode[] calculators [get]
 全てのArbor.CalculatorNodeを取得する。 More...
 
int commentCount [get]
 CommentNodeの数を取得。 More...
 
CommentNode[] comments [get]
 全てのArbor.CommentNodeを取得する。 More...
 
int groupCount [get]
 GroupNodeの数を取得。 More...
 
DataBranchRerouteNodeList dataBranchRerouteNodes [get]
 DataBranchRerouteNodeリスト More...
 
DataBranchRerouteNodeList calculatorBranchRerouteNodes [get]
 DataBranchRerouteNodeリスト More...
 
int dataBranchCount [get]
 DataBranchの数を取得。 More...
 
int calculatorBranchCount [get]
 DataBranchの数を取得。 More...
 
DataBranch[] calculatorBranchies [get]
 全てのArbor.DataBranchを取得する。 More...
 

Additional Inherited Members

- Static Public Member Functions inherited from NodeGraph
static NodeGraph FindGraph (string name)
 シーン内にあるNodeGraphを名前で取得する。 More...
 
static NodeGraph FindGraph (string name, System.Type type)
 シーン内にあるNodeGraphを名前で取得する。 More...
 
static T FindGraph< T > (string name)
 シーン内にあるNodeGraphを名前で取得する。 More...
 
static NodeGraph[] FindGraphs (string name)
 シーン内にある同一名のNodeGraphを取得する。 More...
 
static NodeGraph[] FindGraphs (string name, System.Type type)
 シーン内にある同一名のNodeGraphを取得する。 More...
 
static T[] FindGraphs< T > (string name)
 シーン内にある同一名のNodeGraphを取得する。 More...
 
static NodeGraph FindGraph (GameObject gameObject, string name)
 GameObjectにアタッチされているNodeGraphを名前で取得する。 More...
 
static NodeGraph FindGraph (GameObject gameObject, string name, System.Type type)
 GameObjectにアタッチされているNodeGraphを名前で取得する。 More...
 
static T FindGraph< T > (GameObject gameObject, string name)
 GameObjectにアタッチされているNodeGraphを名前で取得する。 More...
 
static NodeGraph[] FindGraphs (GameObject gameObject, string name)
 GameObjectにアタッチされている同一名のNodeGraphを取得する。 More...
 
static NodeGraph[] FindGraphs (GameObject gameObject, string name, System.Type type)
 GameObjectにアタッチされている同一名のNodeGraphを取得する。 More...
 
static T[] FindGraphs< T > (GameObject gameObject, string name)
 GameObjectにアタッチされている同一名のNodeGraphを取得する。 More...
 
static NodeGraph Create (GameObject gameObject, System.Type classType)
 NodeGraphの作成 More...
 
static GraphType Create< GraphType > (GameObject gameObject)
 NodeGraphの作成 More...
 
static NodeGraph Instantiate (NodeGraph sourceGraph, NodeBehaviour ownerBehaviour, bool usePool=false)
 NodeGraphを生成 More...
 
static GraphType Instantiate< GraphType > (GraphType sourceGraph, NodeBehaviour ownerBehaviour, bool usePool=false)
 NodeGraphを生成 More...
 
static void Destroy (NodeGraph nodeGraph)
 NodeGraphの破棄 More...
 
- Events inherited from NodeGraph
NodeGraphCallback destroyCallback
 破棄される際のコールバック More...
 
NodeGraphCallback stateChangedCallback
 状態が変わった際のコールバック More...
 

Detailed Description

Arbor.BehaviourTreeの内部クラス。 実際にGameObjectにアタッチするにはArbor.BehaviourTreeを使用する。

Member Function Documentation

void CalculatePriority ( )

ノードの優先度を計算する。

bool CheckLoop ( TreeNodeBase  parentNode,
TreeNodeBase  childNode 
)

ノードの接続がループしているかチェックする。

Parameters
parentNode親ノード
childNode子ノード
Returns
ループしている場合にtrueを返す。
NodeBranch ConnectBranch ( int  branchID,
TreeNodeBase  parentNode,
TreeNodeBase  childNode 
)

NodeBranchの接続

Parameters
branchID作成するNodeBranchのID
parentNode親ノード
childNode子ノード
Returns
接続したNodeBranch
NodeBranch ConnectBranch ( TreeNodeBase  parentNode,
TreeNodeBase  childNode 
)

NodeBranchの接続

Parameters
parentNode親ノード
childNode子ノード
Returns
接続したNodeBranch
ActionNode CreateAction ( Vector2  position,
int  nodeID,
System.Type  classType 
)

ActionNodeを生成。

Parameters
positionノードの位置
nodeIDノードID
classTypeActionBehaviourの型
Returns
生成したActionNode。
ActionNode CreateAction ( Vector2  position,
System.Type  classType 
)

ActionNodeを生成。

Parameters
positionノードの位置
classTypeActionBehaviourの型
Returns
生成したActionNode。
CompositeNode CreateComposite ( Vector2  position,
int  nodeID,
System.Type  classType 
)

CompositeNodeを生成。

Parameters
positionノードの位置
nodeIDノードID
classTypeCompositeBehaviourの型
Returns
生成したCompositeNode。
CompositeNode CreateComposite ( Vector2  position,
System.Type  classType 
)

CompositeNodeを生成。

Parameters
positionノードの位置
classTypeCompositeBehaviourの型
Returns
生成したCompositeNode。
void DisconnectBranch ( NodeBranch  branch)

NodeBranchの切断

Parameters
branch切断するNodeBranch
void Execute ( )

手動で実行する。 UpdateSettings.typeがManualの場合に任意のタイミングでこのメソッドを呼んでください。

bool IsRevaluation ( TreeNodeBase  node)

再評価ノードかを返す。

Parameters
nodeノード
Returns
再評価ノードであればtrueを返す。
override bool OnDeleteNode ( Node  node)
protectedvirtual

ノードの削除。

Parameters
node削除するノード
Returns
削除した場合はtrue、していなければfalseを返す。

Implements NodeGraph.

sealed override void OnReset ( )
protectedvirtual

Resetもしくは生成時のコールバック。

Reimplemented from NodeGraph.

override void OnValidateNodes ( )
virtual

ノードが変更された際に呼ばれる。

Reimplemented from NodeGraph.

void Pause ( )

ビヘイビアツリーの再生を一時停止。

void Play ( )

ビヘイビアツリーの再生を開始。

void Resume ( )

ビヘイビアツリーの再生を再開。

void Stop ( )

ビヘイビアツリーの再生を停止。

Member Data Documentation

ExecutionSettings executionSettings = new ExecutionSettings()

実行に関する設定。

bool playOnStart = true

開始時に再生するフラグ。

bool restartOnFinish = true

終了時に再開するフラグ。

UpdateSettings updateSettings = new UpdateSettings()

更新に関する設定。

Property Documentation

ActionNodeList actionNodes
get

ActionNodeのリストを取得

CompositeNodeList compositeNodes
get

CompositeNodeのリストを取得

TreeNodeBase currentNode
get

現在のアクティブノード

NodeBranchies nodeBranchies
get

NodeBranchのリストを取得

PlayState playState
get

再生状態

RootNode rootNode
get

RootNodeを取得