public override void FromJson(string data) { base.FromJson(data); FunctionGraphData d = JsonConvert.DeserializeObject <FunctionGraphData>(data); Node n = null; NodeLookup.TryGetValue(d.outputNode, out n); OutputNode = n; }
public override string GetJson() { FunctionGraphData d = new FunctionGraphData(); List <string> data = new List <string>(); foreach (Node n in Nodes) { data.Add(n.GetJson()); } d.name = Name; d.nodes = data; d.outputs = new List <string>(); d.inputs = new List <string>(); d.outputNode = OutputNode != null ? OutputNode.Id : null; return(JsonConvert.SerializeObject(d)); }
public virtual void FromJson(string data) { FunctionGraphData d = JsonConvert.DeserializeObject <FunctionGraphData>(data); base.FromJson(d); Node n = null; if (d.outputNode != null) { NodeLookup.TryGetValue(d.outputNode, out n); OutputNode = n; } //we also want to set vars for argument if we have any //so they appear in the dropdown foreach (ArgNode arg in args) { object temp = 0; if (arg.InputType == NodeType.Float) { temp = 0; } else if (arg.InputType == NodeType.Bool) { temp = false; } else if (arg.InputType == NodeType.Matrix) { temp = Matrix4.Identity; } else { temp = new MVector(); } SetVar(arg.InputName, temp, arg.InputType); } }
public override string GetJson() { FunctionGraphData d = new FunctionGraphData(); List <string> data = new List <string>(); int count = Nodes.Count; for (int i = 0; i < count; i++) { Node n = Nodes[i]; data.Add(n.GetJson()); } d.name = Name; d.nodes = data; d.outputs = new List <string>(); d.inputs = new List <string>(); d.outputNode = OutputNode != null ? OutputNode.Id : null; return(JsonConvert.SerializeObject(d)); }