public BehaviorNodeData CopyNode(BehaviorNodeData node) { BehaviorNodeData copyNode = new BehaviorNodeData(); copyNode.name = node.name; copyNode.describe = node.describe; copyNode.Pos = node.Pos; copyNode.args_dict = new BehaviorTreeArgsDict(); foreach (var item in node.args_dict) { ValueBase valueBase = ValueBase.Clone(item.Value); copyNode.args_dict.Add(item.Key, valueBase); } List <BehaviorNodeData> list = new List <BehaviorNodeData>(); foreach (var item in node.children) { list.Add(item); } foreach (var child in list) { copyNode.AddChild(CopyNode(child)); } copyNode.ResetId(); return(copyNode); }
public BehaviorNodeData CopyNode(BehaviorNodeData node) { BehaviorNodeData copyNode = new BehaviorNodeData { Name = node.Name, Desc = node.Desc, Pos = node.Pos, Args = node.Args.Clone() }; List <BehaviorNodeData> list = new List <BehaviorNodeData>(); foreach (BehaviorNodeData item in node.children) { list.Add(item); } foreach (BehaviorNodeData child in list) { copyNode.AddChild(CopyNode(child)); } copyNode.ResetId(); return(copyNode); }