예제 #1
0
        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);
        }
예제 #2
0
        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";
        }
예제 #3
0
파일: SubGraphNode.cs 프로젝트: pshtif/Dash
        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;
        }
예제 #4
0
        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);
        }