public static void ImportJSON(DashGraph p_graph) { string path = EditorUtility.OpenFilePanel("Load JSON", Application.dataPath, "json"); byte[] content = File.ReadAllBytes(path); List <Object> references = new Object[] { p_graph }.ToList(); // refactor to serialize to acquire all correct ones before deserialization p_graph.DeserializeFromBytes(content, DataFormat.JSON, ref references); }
void InstanceBoundGraph() { _graphInstance = ScriptableObject.CreateInstance <DashGraph>(); // Empty graphs don't self reference if (_selfReferenceIndex != -1) { _boundGraphReferences[_selfReferenceIndex] = _graphInstance; } _graphInstance.DeserializeFromBytes(_boundGraphData, DataFormat.Binary, ref _boundGraphReferences); _graphInstance.isBound = true; _graphInstance.name = "Bound"; }
void InstanceBoundGraph() { _subGraphInstance = ScriptableObject.CreateInstance <DashGraph>(); // Empty graphs don't self reference if (_selfReferenceIndex != -1) { _boundSubGraphReferences[_selfReferenceIndex] = _subGraphInstance; _subGraphInstance.DeserializeFromBytes(_boundSubGraphData, DataFormat.Binary, ref _boundSubGraphReferences); } ((IInternalGraphAccess)_subGraphInstance).SetParentGraph(Graph); _subGraphInstance.isBound = true; _subGraphInstance.name = Model.id; }
public DashGraph Clone() { List <Object> references = new List <Object>(); byte[] bytes = this.SerializeToBytes(DataFormat.Binary, ref references); DashGraph graph = CreateInstance <DashGraph>(); for (int i = 0; i < references.Count; i++) { if (references[i] == this) { references[i] = graph; } } graph.DeserializeFromBytes(bytes, DataFormat.Binary, ref references); graph.name = name; return(graph); }