Arbor 3: FSM & BT Graph Editor  3.1.0
NodeGraph Class Referenceabstract

ノードグラフの基本クラス。 More...

Inheritance diagram for NodeGraph:
ArborFSMInternal BehaviourTreeInternal ArborFSM BehaviourTree

Public Member Functions

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...
 
CalculatorBranchRerouteNode CreateCalculatorBranchRerouteNode (Vector2 position, System.Type type, int nodeID)
 CalculatorBranchRerouteNodeを生成。 More...
 
CalculatorBranchRerouteNode CreateCalculatorBranchRerouteNode (Vector2 position, System.Type type)
 CalculatorBranchRerouteNodeを生成。 More...
 
void DeleteCalculatorBranchRerouteNode (CalculatorBranchRerouteNode rerouteNode)
 CalculatorBranchRerouteNodeの削除。 More...
 
virtual void OnValidateNodes ()
 ノードが変更された際に呼ばれる。 More...
 
bool DeleteNode (Node node)
 ノードの削除。 More...
 
Node FindNodeContainsBehaviour (NodeBehaviour behaviour)
 NodeBehaviourが属しているノードの取得。 More...
 
CalculatorBranch GetCalculatorBranchFromIndex (int index)
 CalculatorBranchをインデックスから取得 More...
 
int GetCalculatorBranchIndex (CalculatorBranch branch)
 CalculatorBranchのインデックスを取得 More...
 
CalculatorBranch GetCalculatorBranchFromID (int branchID)
 演算ブランチIDを指定してArbor.CalculatorBranchを取得する。 More...
 
CalculatorBranch ConnectCalculatorBranch (int branchID, int inputNodeID, Object inputObj, CalculatorSlot inputSlot, int outputNodeID, Object outputObj, CalculatorSlot outputSlot)
 CalculatorSlotの接続 More...
 
CalculatorBranch ConnectCalculatorBranch (int inputNodeID, Object inputObj, CalculatorSlot inputSlot, int outputNodeID, Object outputObj, CalculatorSlot outputSlot)
 CalculatorSlotの接続 More...
 
void DisconnectCalculatorBranch (Object obj)
 内部的に使用するメソッド。特に呼び出す必要はありません。 More...
 
void DeleteCalculatorBranch (CalculatorBranch branch)
 演算ブランチの削除。 More...
 
bool CheckLoopCalculatorBranch (int inputNodeID, Object inputObj, int outputNodeID, Object outputObj)
 CalculatorBranchがループしているかをチェックする。 More...
 
delegate void NodeGraphCallback (NodeGraph nodeGraph)
 NodeGraphのコールバック用デリゲート More...
 
void DestroySubComponents ()
 内部的に使用するメソッド。特に呼び出す必要はありません。 More...
 
override string ToString ()
 グラフを文字列に変換(デバッグ用)。 More...
 

Static Public Member Functions

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)
 NodeGraphを生成 More...
 
static GraphType Instantiate< GraphType > (GraphType sourceGraph, NodeBehaviour ownerBehaviour)
 NodeGraphを生成 More...
 
static void Destroy (NodeGraph nodeGraph)
 NodeGraphの破棄 More...
 

Public Attributes

string graphName
 グラフの名前。
一つのGameObjectに複数のグラフがある場合の識別や検索に使用する。 More...
 

Protected Member Functions

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

Properties

string displayGraphName [get]
 ノードグラフの表示名。graphNameが空かnullの場合は"(No Name)"を返す。 More...
 
NodeGraph parentGraph [get]
 親グラフ More...
 
NodeGraph rootGraph [get]
 ルートグラフ More...
 
Object ownerBehaviourObject [get, set]
 このグラフの所有者であるNodeBehaviourのObject More...
 
NodeBehaviour ownerBehaviour [get, set]
 このグラフの所有者であるNodeBehaviour 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...
 
CalculatorBranchRerouteNodeList calculatorBranchRerouteNodes [get]
 CalculatorBranchRerouteNodeリスト More...
 
int calculatorBranchCount [get]
 CalculatorBranchの数を取得。 More...
 
CalculatorBranch[] calculatorBranchies [get]
 全てのArbor.CalculatorBranchを取得する。 More...
 

Events

NodeGraphCallback destroyCallback
 破棄される際のコールバック More...
 
NodeGraphCallback stateChangedCallback
 状態が変わった際のコールバック More...
 

Detailed Description

ノードグラフの基本クラス。

Member Function Documentation

bool CheckLoopCalculatorBranch ( int  inputNodeID,
Object  inputObj,
int  outputNodeID,
Object  outputObj 
)

CalculatorBranchがループしているかをチェックする。

Parameters
inputNodeID入力スロット側ノードID
inputObj入力スロット側Object
outputNodeID出力スロット側ノードID
outputObj出力スロット側Object
Returns
ループしている場合はtrueを返す。
CalculatorBranch ConnectCalculatorBranch ( int  branchID,
int  inputNodeID,
Object  inputObj,
CalculatorSlot  inputSlot,
int  outputNodeID,
Object  outputObj,
CalculatorSlot  outputSlot 
)

CalculatorSlotの接続

Parameters
branchID作成するCalculatorBranchのID
inputNodeID入力ノードID
inputObj入力オブジェクト
inputSlot入力スロット
outputNodeID出力ノードID
outputObj出力オブジェクト
outputSlot出力スロット
Returns
接続したCalculatorBranch
CalculatorBranch ConnectCalculatorBranch ( int  inputNodeID,
Object  inputObj,
CalculatorSlot  inputSlot,
int  outputNodeID,
Object  outputObj,
CalculatorSlot  outputSlot 
)

CalculatorSlotの接続

Parameters
inputNodeID入力ノードID
inputObj入力オブジェクト
inputSlot入力スロット
outputNodeID出力ノードID
outputObj出力オブジェクト
outputSlot出力スロット
Returns
接続したCalculatorBranch
static NodeGraph Create ( GameObject  gameObject,
System.Type  classType 
)
static

NodeGraphの作成

Parameters
gameObjectGameObject
classTypeNodeGraphの型
Returns
作成したNodeGraph
static GraphType Create< GraphType > ( GameObject  gameObject)
static

NodeGraphの作成

Template Parameters
GraphTypeNodeGraphの型
Parameters
gameObjectGameObject
Returns
作成したNodeGraph
Type Constraints
GraphType :NodeGraph 
CalculatorNode CreateCalculator ( int  nodeID,
System.Type  calculatorType 
)

演算ノードを生成。

Parameters
nodeIDノード ID
calculatorTypeCalculatorの型
Returns
生成した演算ノード。ノードIDが重複している場合は生成せずにnullを返す。
CalculatorNode CreateCalculator ( System.Type  calculatorType)

演算ノードを生成。

Parameters
calculatorTypeCalculatorの型
Returns
生成した演算ノード。
CalculatorBranchRerouteNode CreateCalculatorBranchRerouteNode ( Vector2  position,
System.Type  type,
int  nodeID 
)

CalculatorBranchRerouteNodeを生成。

Parameters
positionノードの位置
type値の型
nodeIDノード ID
Returns
生成したCalculatorBranchRerouteNode。ノードIDが重複している場合は生成せずにnullを返す。
CalculatorBranchRerouteNode CreateCalculatorBranchRerouteNode ( Vector2  position,
System.Type  type 
)

CalculatorBranchRerouteNodeを生成。

Returns
生成したCalculatorBranchRerouteNode。
CommentNode CreateComment ( int  nodeID)

コメントを生成。

Parameters
nodeIDノードID
Returns
生成したコメント。ノードIDが重複している場合は生成せずにnullを返す。
CommentNode CreateComment ( )

コメントを生成。

Returns
生成したコメント。
GroupNode CreateGroup ( int  nodeID)

グループを生成。

Parameters
nodeIDノード ID
Returns
生成したグループ。ノードIDが重複している場合は生成せずにnullを返す。
GroupNode CreateGroup ( )

グループを生成。

Returns
生成したグループ。
bool DeleteCalculator ( CalculatorNode  calculatorNode)

演算ノードの削除。

Parameters
calculatorNode削除する演算ノード。
Returns
削除した場合にtrue
void DeleteCalculatorBranch ( CalculatorBranch  branch)

演算ブランチの削除。

Parameters
branch削除する演算ブランチ。
void DeleteCalculatorBranchRerouteNode ( CalculatorBranchRerouteNode  rerouteNode)

CalculatorBranchRerouteNodeの削除。

Parameters
rerouteNode削除するCalculatorBranchRerouteNode。
void DeleteComment ( CommentNode  comment)

コメントの削除。

Parameters
comment削除するコメント。
void DeleteGroup ( GroupNode  group)

グループの削除。

Parameters
group削除するグループ。
bool DeleteNode ( Node  node)

ノードの削除。

Parameters
node削除するノード。
Returns
削除した場合にtrue
static void Destroy ( NodeGraph  nodeGraph)
static

NodeGraphの破棄

Parameters
nodeGraphNodeGraph
void DestroySubComponents ( )

内部的に使用するメソッド。特に呼び出す必要はありません。

void DisconnectCalculatorBranch ( Object  obj)

内部的に使用するメソッド。特に呼び出す必要はありません。

CalculatorNode FindCalculator ( Calculator  calculator)

Calculatorが属しているCalculatorNodeの取得。

Parameters
calculatorCalculator
Returns
Calculatorが属しているCalculatorNode。ない場合はnullを返す。
static NodeGraph FindGraph ( string  name)
static

シーン内にあるNodeGraphを名前で取得する。

Parameters
name検索するNodeGraphの名前。
Returns
見つかったNodeGraph。見つからなかった場合はnullを返す。
static NodeGraph FindGraph ( string  name,
System.Type  type 
)
static

シーン内にあるNodeGraphを名前で取得する。

Parameters
name検索するNodeGraphの名前。
type検索するNodeGraphのType。
Returns
見つかったNodeGraph。見つからなかった場合はnullを返す。
static NodeGraph FindGraph ( GameObject  gameObject,
string  name 
)
static

GameObjectにアタッチされているNodeGraphを名前で取得する。

Parameters
gameObject検索したいGameObject。
name検索するNodeGraphの名前。
Returns
見つかったNodeGraph。見つからなかった場合はnullを返す。
static NodeGraph FindGraph ( GameObject  gameObject,
string  name,
System.Type  type 
)
static

GameObjectにアタッチされているNodeGraphを名前で取得する。

Parameters
gameObject検索したいGameObject。
name検索するNodeGraphの名前。
type検索するNodeGraphのType。
Returns
見つかったNodeGraph。見つからなかった場合はnullを返す。
static T FindGraph< T > ( string  name)
static

シーン内にあるNodeGraphを名前で取得する。

Template Parameters
T検索するNodeGraphのType。
Parameters
name検索するNodeGraphの名前。
Returns
見つかったNodeGraph。見つからなかった場合はnullを返す。
Type Constraints
T :NodeGraph 
static T FindGraph< T > ( GameObject  gameObject,
string  name 
)
static

GameObjectにアタッチされているNodeGraphを名前で取得する。

Template Parameters
T検索するNodeGraphのType。
Parameters
gameObject検索したいGameObject。
name検索するNodeGraphの名前。
Returns
見つかったNodeGraph。見つからなかった場合はnullを返す。
Type Constraints
T :NodeGraph 
static NodeGraph [] FindGraphs ( string  name)
static

シーン内にある同一名のNodeGraphを取得する。

Parameters
name検索するNodeGraphの名前。
Returns
見つかったNodeGraphの配列。
static NodeGraph [] FindGraphs ( string  name,
System.Type  type 
)
static

シーン内にある同一名のNodeGraphを取得する。

Parameters
name検索するNodeGraphの名前。
type検索するNodeGraphのType。
Returns
見つかったNodeGraphの配列。
static NodeGraph [] FindGraphs ( GameObject  gameObject,
string  name 
)
static

GameObjectにアタッチされている同一名のNodeGraphを取得する。

Parameters
gameObject検索したいGameObject。
name検索するNodeGraphの名前。
Returns
見つかったNodeGraphの配列。
static NodeGraph [] FindGraphs ( GameObject  gameObject,
string  name,
System.Type  type 
)
static

GameObjectにアタッチされている同一名のNodeGraphを取得する。

Parameters
gameObject検索したいGameObject。
name検索するNodeGraphの名前。
type検索するNodeGraphのType。
Returns
見つかったNodeGraphの配列。
static T [] FindGraphs< T > ( string  name)
static

シーン内にある同一名のNodeGraphを取得する。

Template Parameters
T検索するNodeGraphのType。
Parameters
name検索するNodeGraphの名前。
Returns
見つかったNodeGraphの配列。
Type Constraints
T :NodeGraph 
static T [] FindGraphs< T > ( GameObject  gameObject,
string  name 
)
static

GameObjectにアタッチされている同一名のNodeGraphを取得する。

Template Parameters
T検索するNodeGraphのType。
Parameters
gameObject検索したいGameObject。
name検索するNodeGraphの名前。
Returns
見つかったNodeGraphの配列。
Type Constraints
T :NodeGraph 
Node FindNodeContainsBehaviour ( NodeBehaviour  behaviour)

NodeBehaviourが属しているノードの取得。

Parameters
behaviourNodeBehaviour
Returns
NodeBehaviourが属しているノード。ない場合はnullを返す。
CalculatorBranch GetCalculatorBranchFromID ( int  branchID)

演算ブランチIDを指定してArbor.CalculatorBranchを取得する。

Parameters
branchID演算ブランチID
Returns
見つかったArbor.CalculatorBranch。見つからなかった場合はnullを返す。
CalculatorBranch GetCalculatorBranchFromIndex ( int  index)

CalculatorBranchをインデックスから取得

Parameters
indexインデックス
Returns
CalculatorBranch
int GetCalculatorBranchIndex ( CalculatorBranch  branch)

CalculatorBranchのインデックスを取得

Parameters
branchCalculatorBranch
Returns
インデックス。ない場合は-1を返す。
CalculatorNode GetCalculatorFromID ( int  calculatorID)

演算ノードIDを指定してArbor.CalculatorNodeを取得する。

Parameters
calculatorID演算ノードID
Returns
見つかったArbor.CalculatorNode。見つからなかった場合はnullを返す。
CalculatorNode GetCalculatorFromIndex ( int  index)

CalculatorNodeをインデックスから取得

Parameters
indexインデックス
Returns
CalculatorNode
int GetCalculatorIndex ( CalculatorNode  calculator)

CalculatorNodeのインデックスを取得

Parameters
calculatorCalculatorNode
Returns
インデックス。ない場合は-1を返す。
CommentNode GetCommentFromID ( int  commentID)

コメントIDを指定してArbor.CommentNodeを取得する。

Parameters
commentIDコメントID
Returns
見つかったArbor.CommentNode。見つからなかった場合はnullを返す。
CommentNode GetCommentFromIndex ( int  index)

CommentNodeをインデックスから取得

Parameters
indexインデックス
Returns
CommentNode
int GetCommentIndex ( CommentNode  comment)

CommentNodeのインデックスを取得

Parameters
commentCommentNode
Returns
インデックス。ない場合は-1を返す。
GroupNode GetGroupFromID ( int  groupID)

グループIDを指定してArbor.GroupNodeを取得する。

Parameters
groupIDグループID
Returns
見つかったArbor.GroupNode。見つからなかった場合はnullを返す。
GroupNode GetGroupFromIndex ( int  index)

GroupNodeをインデックスから取得

Parameters
indexインデックス
Returns
GroupNode
Node GetNodeFromID ( int  nodeID)

ノードIDを指定してArbor.Nodeを取得する。

Parameters
nodeIDノードID
Returns
見つかったArbor.Node。見つからなかった場合はnullを返す。
Node GetNodeFromIndex ( int  index)

Nodeをインデックスから取得

Parameters
indexインデックス
Returns
Node
static NodeGraph Instantiate ( NodeGraph  sourceGraph,
NodeBehaviour  ownerBehaviour 
)
static

NodeGraphを生成

Parameters
sourceGraph生成元のグラフ
ownerBehaviourグラフの所有権を持つNodeBehaviour
Returns
生成したグラフ
static GraphType Instantiate< GraphType > ( GraphType  sourceGraph,
NodeBehaviour  ownerBehaviour 
)
static

NodeGraphを生成

Template Parameters
GraphTypeグラフの型
Parameters
sourceGraph生成元のグラフ
ownerBehaviourグラフの所有権を持つNodeBehaviour
Returns
生成したグラフ
Type Constraints
GraphType :NodeGraph 
delegate void NodeGraphCallback ( NodeGraph  nodeGraph)

NodeGraphのコールバック用デリゲート

Parameters
nodeGraphイベントが起きたNodeGraph
abstract bool OnDeleteNode ( Node  node)
protectedpure virtual

ノードの削除。

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

Implemented in ArborFSMInternal, and BehaviourTreeInternal.

virtual void OnReset ( )
protectedvirtual

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

Reimplemented in ArborFSMInternal, and BehaviourTreeInternal.

virtual void OnValidate ( )
protectedvirtual

MonoBehaviour.OnValidate を参照してください

Reimplemented in ArborFSMInternal.

virtual void OnValidateNodes ( )
virtual

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

Reimplemented in BehaviourTreeInternal.

override string ToString ( )

グラフを文字列に変換(デバッグ用)。

Returns
変換された文字列

Member Data Documentation

string graphName

グラフの名前。
一つのGameObjectに複数のグラフがある場合の識別や検索に使用する。

Property Documentation

int calculatorBranchCount
get

CalculatorBranchの数を取得。

CalculatorBranch [] calculatorBranchies
get

全てのArbor.CalculatorBranchを取得する。

CalculatorBranchRerouteNodeList calculatorBranchRerouteNodes
get

CalculatorBranchRerouteNodeリスト

int calculatorCount
get

CalculatorNodeの数を取得。

CalculatorNode [] calculators
get

全てのArbor.CalculatorNodeを取得する。

int commentCount
get

CommentNodeの数を取得。

CommentNode [] comments
get

全てのArbor.CommentNodeを取得する。

string displayGraphName
get

ノードグラフの表示名。graphNameが空かnullの場合は"(No Name)"を返す。

bool external
get

外部グラフから生成されたフラグ

int groupCount
get

GroupNodeの数を取得。

int nodeCount
get

Nodeの数を取得。

NodeBehaviour ownerBehaviour
getset

このグラフの所有者であるNodeBehaviour

Object ownerBehaviourObject
getset

このグラフの所有者であるNodeBehaviourのObject

NodeGraph parentGraph
get

親グラフ

NodeGraph rootGraph
get

ルートグラフ

Event Documentation

NodeGraphCallback destroyCallback

破棄される際のコールバック

NodeGraphCallback stateChangedCallback

状態が変わった際のコールバック