public void Link <TParent> (IBlackboardNode <TParent> node) where TParent : class { foreach (var param in mInstances) { param.Assign <TParent> (node); } }
public void Assign <S> (IBlackboardNode <S> node) where S : class { if (this is DependencyParameter <TParent, S> ) { node.Board = this.mChildBoard as Blackboard <S>; } }
public void Assign <TParent> (IBlackboardNode <TParent> node) where TParent : class { var compatible = this as StaticParameter <TParent>; if (compatible != null) { node.Board = compatible.Board; } }
public void Assign(INode node) { var blackboardNode = node as IBlackboardNode <TChild>; if (blackboardNode != null) { mLinker.Link <TParent> (this); mChildBoard.Context = this.mInitFunc(this.Board.Context); IBlackboardNode <TChild> specificNode = blackboardNode; specificNode.Board = this.mChildBoard; } }