Arbor 3: FSM & BT Graph Editor  3.7.8
BehaviourTreeInternal クラス

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

BehaviourTreeInternal の継承関係図
NodeGraph IPoolCallbackReceiver BehaviourTree

公開メンバ関数

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

公開変数類

bool playOnStart = true
 開始時に再生するフラグ。 [詳解]
 
bool restartOnFinish = true
 終了時に再開するフラグ。 [詳解]
 
UpdateSettings updateSettings = new UpdateSettings()
 更新に関する設定。 [詳解]
 
ExecutionSettings executionSettings = new ExecutionSettings()
 実行に関する設定。 [詳解]
 
- 基底クラス NodeGraph に属する継承公開変数類
string graphName = ""
 グラフの名前。
一つのGameObjectに複数のグラフがある場合の識別や検索に使用する。 [詳解]
 
DebugInfiniteLoopSettings debugInfiniteLoopSettings = new DebugInfiniteLoopSettings()
 無限ループのデバッグ設定 [詳解]
 

限定公開メンバ関数

sealed override void OnReset ()
 Resetもしくは生成時のコールバック。 [詳解]
 
override bool OnDeleteNode (Node node)
 ノードの削除。 [詳解]
 
sealed override void OnRegisterNodes ()
 Register nodes [詳解]
 
- 基底クラス NodeGraph に属する継承限定公開メンバ関数
virtual void OnValidate ()
 MonoBehaviour.OnValidate を参照してください [詳解]
 

プロパティ

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

その他の継承メンバ

- 基底クラス NodeGraph に属する継承静的公開メンバ関数
static NodeGraph FindGraph (string name)
 シーン内にあるNodeGraphを名前で取得する。 [詳解]
 
static NodeGraph FindGraph (string name, System.Type type)
 シーン内にあるNodeGraphを名前で取得する。 [詳解]
 
static T FindGraph< T > (string name)
 シーン内にあるNodeGraphを名前で取得する。 [詳解]
 
static NodeGraph[] FindGraphs (string name)
 シーン内にある同一名のNodeGraphを取得する。 [詳解]
 
static NodeGraph[] FindGraphs (string name, System.Type type)
 シーン内にある同一名のNodeGraphを取得する。 [詳解]
 
static T[] FindGraphs< T > (string name)
 シーン内にある同一名のNodeGraphを取得する。 [詳解]
 
static NodeGraph FindGraph (GameObject gameObject, string name)
 GameObjectにアタッチされているNodeGraphを名前で取得する。 [詳解]
 
static NodeGraph FindGraph (GameObject gameObject, string name, System.Type type)
 GameObjectにアタッチされているNodeGraphを名前で取得する。 [詳解]
 
static T FindGraph< T > (GameObject gameObject, string name)
 GameObjectにアタッチされているNodeGraphを名前で取得する。 [詳解]
 
static NodeGraph[] FindGraphs (GameObject gameObject, string name)
 GameObjectにアタッチされている同一名のNodeGraphを取得する。 [詳解]
 
static NodeGraph[] FindGraphs (GameObject gameObject, string name, System.Type type)
 GameObjectにアタッチされている同一名のNodeGraphを取得する。 [詳解]
 
static T[] FindGraphs< T > (GameObject gameObject, string name)
 GameObjectにアタッチされている同一名のNodeGraphを取得する。 [詳解]
 
static NodeGraph Create (GameObject gameObject, System.Type classType)
 NodeGraphの作成 [詳解]
 
static GraphType Create< GraphType > (GameObject gameObject)
 NodeGraphの作成 [詳解]
 
static NodeGraph Instantiate (NodeGraph sourceGraph, NodeBehaviour ownerBehaviour, bool usePool=false)
 NodeGraphを生成 [詳解]
 
static GraphType Instantiate< GraphType > (GraphType sourceGraph, NodeBehaviour ownerBehaviour, bool usePool=false)
 NodeGraphを生成 [詳解]
 
static void Destroy (NodeGraph nodeGraph)
 NodeGraphの破棄 [詳解]
 
- 基底クラス NodeGraph に属する継承イベント
System.Action onAfterDeserialize
 デシリアライズ後のコールバック [詳解]
 
NodeGraphCallback destroyCallback
 破棄される際のコールバック [詳解]
 
NodeGraphCallback stateChangedCallback
 状態が変わった際のコールバック [詳解]
 

詳解

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

メソッド詳解

◆ CalculatePriority()

void CalculatePriority ( )

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

◆ CheckLoop()

bool CheckLoop ( TreeNodeBase  parentNode,
TreeNodeBase  childNode 
)

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

引数
parentNode親ノード
childNode子ノード
戻り値
ループしている場合にtrueを返す。

◆ ConnectBranch() [1/2]

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

NodeBranchの接続

引数
branchID作成するNodeBranchのID
parentNode親ノード
childNode子ノード
戻り値
接続したNodeBranch

◆ ConnectBranch() [2/2]

NodeBranch ConnectBranch ( TreeNodeBase  parentNode,
TreeNodeBase  childNode 
)

NodeBranchの接続

引数
parentNode親ノード
childNode子ノード
戻り値
接続したNodeBranch

◆ CreateAction() [1/2]

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

ActionNodeを生成。

引数
positionノードの位置
nodeIDノードID
classTypeActionBehaviourの型
戻り値
生成したActionNode。

◆ CreateAction() [2/2]

ActionNode CreateAction ( Vector2  position,
System.Type  classType 
)

ActionNodeを生成。

引数
positionノードの位置
classTypeActionBehaviourの型
戻り値
生成したActionNode。

◆ CreateComposite() [1/2]

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

CompositeNodeを生成。

引数
positionノードの位置
nodeIDノードID
classTypeCompositeBehaviourの型
戻り値
生成したCompositeNode。

◆ CreateComposite() [2/2]

CompositeNode CreateComposite ( Vector2  position,
System.Type  classType 
)

CompositeNodeを生成。

引数
positionノードの位置
classTypeCompositeBehaviourの型
戻り値
生成したCompositeNode。

◆ DisconnectBranch()

void DisconnectBranch ( NodeBranch  branch)

NodeBranchの切断

引数
branch切断するNodeBranch

◆ Execute()

void Execute ( )

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

◆ IsRevaluation()

bool IsRevaluation ( TreeNodeBase  node)

再評価ノードかを返す。

引数
nodeノード
戻り値
再評価ノードであればtrueを返す。

◆ OnDeleteNode()

override bool OnDeleteNode ( Node  node)
protectedvirtual

ノードの削除。

引数
node削除するノード
戻り値
削除した場合はtrue、していなければfalseを返す。

NodeGraphを実装しています。

◆ OnRegisterNodes()

sealed override void OnRegisterNodes ( )
protectedvirtual

Register nodes

NodeGraphを実装しています。

◆ OnReset()

sealed override void OnReset ( )
protectedvirtual

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

NodeGraphを再実装しています。

◆ OnValidateNodes()

override void OnValidateNodes ( )
virtual

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

NodeGraphを再実装しています。

◆ Pause()

void Pause ( )

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

◆ Play()

void Play ( )

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

◆ Resume()

void Resume ( )

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

◆ Stop()

void Stop ( )

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

メンバ詳解

◆ executionSettings

ExecutionSettings executionSettings = new ExecutionSettings()

実行に関する設定。

◆ playOnStart

bool playOnStart = true

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

◆ restartOnFinish

bool restartOnFinish = true

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

◆ updateSettings

UpdateSettings updateSettings = new UpdateSettings()

更新に関する設定。

プロパティ詳解

◆ actionNodes

ActionNodeList actionNodes
get

ActionNodeのリストを取得

◆ compositeNodes

CompositeNodeList compositeNodes
get

CompositeNodeのリストを取得

◆ currentNode

TreeNodeBase currentNode
get

現在のアクティブノード

◆ nodeBranchies

NodeBranchies nodeBranchies
get

NodeBranchのリストを取得

◆ playState

PlayState playState
get

再生状態

◆ rootNode

RootNode rootNode
get

RootNodeを取得