public override Node Clone(ISharedVariableContainer sharedVariableTable)
        {
            var node = new ReturnSuccessNode(this);

            node.m_Child = m_Child.Clone(sharedVariableTable);

            return(node);
        }
示例#2
0
        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);
        }
示例#3
0
        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);
        }
示例#4
0
        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);
        }
示例#5
0
 public abstract Node Clone(ISharedVariableContainer sharedVariableTable);
示例#6
0
 public abstract Node Clone(object agent, object world, ISharedVariableContainer sharedVariableTable);
 public override Node Clone(object agent, object world, ISharedVariableContainer sharedVariableTable)
 {
     return(Clone(sharedVariableTable));
 }
示例#8
0
 public override Node Clone(ISharedVariableContainer sharedVariableTable)
 {
     return(new ActionNode(this));
 }
示例#9
0
 public override Node Clone(object agent, object world, ISharedVariableContainer sharedVariableTable)
 {
     return(new ActionNode(this));
 }