public override Node Clone(ISharedVariableContainer sharedVariableTable) { var node = new ReturnSuccessNode(this); node.m_Child = m_Child.Clone(sharedVariableTable); return(node); }
public override Node Clone(object agent, object world, ISharedVariableContainer sharedVariableTable) { var node = new ReturnFailureNode(this); node.m_Child = m_Child.Clone(agent, world, sharedVariableTable); return(node); }
public override Node Clone(ISharedVariableContainer sharedVariableTable) { var node = new SelectorNode(this); for (int i = 0; i < m_Children.Count; i++) { node.AddChild(m_Children[i].Clone(sharedVariableTable)); } return(node); }
public SharedVariable CloneSharedVariable(ISharedVariableContainer sharedVariableTable, SharedVariable variable) { if (variable != null) { if (string.IsNullOrEmpty(variable.Name)) { // the sharedVariable does not exist in table, clone it return(variable.Clone()); } else if (sharedVariableTable != null) { // the sharedVariable exist in table, build the reference to it return(sharedVariableTable.GetVariable(variable.Name)); } } return(null); }
public abstract Node Clone(ISharedVariableContainer sharedVariableTable);
public abstract Node Clone(object agent, object world, ISharedVariableContainer sharedVariableTable);
public override Node Clone(object agent, object world, ISharedVariableContainer sharedVariableTable) { return(Clone(sharedVariableTable)); }
public override Node Clone(ISharedVariableContainer sharedVariableTable) { return(new ActionNode(this)); }
public override Node Clone(object agent, object world, ISharedVariableContainer sharedVariableTable) { return(new ActionNode(this)); }