Beispiel #1
0
        public static BaseNode LoadNode(CommonNodeData commonNodeData)
        {
            string   typeName = commonNodeData.nodeTypeId;
            Type     type     = ReflectionUtils.GetType(typeName);
            BaseNode node     = default;

            try
            {
                node = JsonUtility.FromJson(commonNodeData.serializedData, type) as BaseNode;
            }
            catch
            {
                Debug.LogError($"deserialize failed from json: {commonNodeData.serializedData}");
            }
            finally
            {
                if (node == null)
                {
                    node = Activator.CreateInstance(type) as BaseNode;
                }
            }

            node.GUID = commonNodeData.nodeGUID;
            node.ConstructView();
            return(node);
        }
Beispiel #2
0
        public BaseNode LoadAndAddNode(CommonNodeData commonNodeData)
        {
            var node = BaseNode.LoadNode(commonNodeData);

            node.SetPosition(new Rect(commonNodeData.position, node.Size));
            AddElement(node);
            return(node);
        }