コード例 #1
0
        // =====  Graph Initialization =====
        public Graph LoadGraph(string path)
        {
            Debug.ClearDeveloperConsole();

            if (path.Equals(BonConfig.DefaultGraphName))
            {
                Graph graph = new Graph();

                // create a default grpah programmatically
                var numberNode01 = new NumberNode(graph.GetUniqueId());
                numberNode01.X      = 20;
                numberNode01.Y      = 20;
                numberNode01.Number = 355;
                graph.AddNode(numberNode01);

                var numberNode02 = new NumberNode(graph.GetUniqueId());
                numberNode02.X      = 20;
                numberNode02.Y      = 80;
                numberNode02.Number = 113;
                graph.AddNode(numberNode02);

                var operator01 = new MathOperatorNode(graph.GetUniqueId());
                operator01.X = 200;
                operator01.Y = 40;
                operator01.SetMode(Operator.Divide);
                graph.AddNode(operator01);

                var diplay01 = new MathDisplay(graph.GetUniqueId());
                diplay01.X = 330;
                diplay01.Y = 80;
                graph.AddNode(diplay01);

                graph.Link(
                    numberNode01.GetSocket(NumberNode.FloatType, SocketDirection.Output, 0),
                    operator01.GetSocket(NumberNode.FloatType, SocketDirection.Input, 0));

                graph.Link(
                    numberNode02.GetSocket(NumberNode.FloatType, SocketDirection.Output, 0),
                    operator01.GetSocket(NumberNode.FloatType, SocketDirection.Input, 1));

                graph.Link(
                    operator01.GetSocket(NumberNode.FloatType, SocketDirection.Output, 0),
                    diplay01.GetSocket(NumberNode.FloatType, SocketDirection.Input, 0));

                // == test serialization an deserialization ==
                var serializedJSON    = graph.ToJson();
                var deserializedGraph = Graph.FromJson(serializedJSON, new StandardGraphController());
                // =====

                return(deserializedGraph);
            }
            else
            {
                Graph graph = Graph.Load(path, new StandardGraphController());
                return(graph);
            }
        }
コード例 #2
0
        /// <summary>
        /// Loads a graph by its path, adds it to the internal list
        /// and returns it.
        /// (Also used by the editor to open Graphs)
        /// </summary>
        public Graph LoadGraph(string path)
        {
            Graph g;

            if (path.Equals(BonConfig.DefaultGraphName))
            {
                g = CreateDefaultGraph();
            }
            else
            {
                g = Graph.Load(path);
            }
            g.Name = path;
            Graphs.Add(g);
            CreateGraphController(g);
            g.UpdateNodes();
            return(g);
        }