示例#1
0
        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);
        }
示例#2
0
        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);
        }