From d237e1529b664f95465443bd05b1b33ce93f8958 Mon Sep 17 00:00:00 2001 From: Thor Brigsted Date: Fri, 22 Sep 2017 12:15:37 +0200 Subject: [PATCH] Fixed open empty NodeGraph --- Scripts/NodeGraph.cs | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/Scripts/NodeGraph.cs b/Scripts/NodeGraph.cs index 863ad36..ca76749 100644 --- a/Scripts/NodeGraph.cs +++ b/Scripts/NodeGraph.cs @@ -72,16 +72,24 @@ public class NodeGraph { public static NodeGraph Deserialize(string json) { NodeGraph nodeGraph = JsonUtility.FromJson(json); - for (int i = 0; i < nodeGraph.s_nodes.Length; i++) { - NodeTyper tempNode = new NodeTyper(); - JsonUtility.FromJsonOverwrite(nodeGraph.s_nodes[i],tempNode); - //Node node = nodeGraph.AddNode(tempNode.nodeType); - Type type = Type.GetType(tempNode.nodeType); - Node node = JsonUtility.FromJson(nodeGraph.s_nodes[i], type) as Node; - nodeGraph.AddNode(node); + + //If we are trying to open a newly created nodegraph, it will be empty + if (nodeGraph == null) nodeGraph = new NodeGraph(); + if (nodeGraph.s_nodes != null) { + + for (int i = 0; i < nodeGraph.s_nodes.Length; i++) { + NodeTyper tempNode = new NodeTyper(); + JsonUtility.FromJsonOverwrite(nodeGraph.s_nodes[i], tempNode); + //Node node = nodeGraph.AddNode(tempNode.nodeType); + Type type = Type.GetType(tempNode.nodeType); + Node node = JsonUtility.FromJson(nodeGraph.s_nodes[i], type) as Node; + nodeGraph.AddNode(node); + } } - for (int i = 0; i < nodeGraph.nodes.Count; i++) { - nodeGraph.nodes[i].FinalizeDeserialization(); + if (nodeGraph.nodes != null){ + for (int i = 0; i < nodeGraph.nodes.Count; i++) { + nodeGraph.nodes[i].FinalizeDeserialization(); + } } return nodeGraph; }