Esempio n. 1
0
 public static bool Save(string fileName, Graph graph)
 {
     var file = File.CreateText(fileName);
     file.Write((string) graph.ToJson());
     file.Close();
     return true;
 }
Esempio n. 2
0
        public static bool Save(string fileName, Graph graph)
        {
            var file = File.CreateText(fileName);

            file.Write((string)graph.ToJson());
            file.Close();
            return(true);
        }
Esempio n. 3
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);
            }
        }
Esempio n. 4
0
        /// <summary>
        /// Creates a default Graph.
        /// (see: BonConfig.DefaultGraphName)
        /// </summary>
        public Graph CreateDefaultGraph()
        {
            Graph graph = new Graph();

            // Number Nodes
            var operator01 = (NumberOperatorNode)graph.CreateNode <NumberOperatorNode>();

            operator01.X = 200;
            operator01.Y = 40;
            operator01.SetMode(Operator.Add);
            graph.AddNode(operator01);

            var diplay01 = (NumberDisplayNode)graph.CreateNode <NumberDisplayNode>();

            diplay01.X = 330;
            diplay01.Y = 80;
            graph.AddNode(diplay01);

            graph.Link(
                (InputSocket)diplay01.GetSocket(typeof(AbstractNumberNode), typeof(InputSocket), 0),
                (OutputSocket)operator01.GetSocket(typeof(AbstractNumberNode), typeof(OutputSocket), 0));

            // Map2D Nodes
            var perlinNoise = graph.CreateNode <UnityPerlinNoiseNode>();

            perlinNoise.X = 80;
            perlinNoise.Y = 250;
            graph.AddNode(perlinNoise);

            var displayMap = graph.CreateNode <NoiseDisplayNode>();

            displayMap.X = 300;
            displayMap.Y = 280;
            graph.AddNode(displayMap);

            graph.Link(
                (InputSocket)displayMap.GetSocket(typeof(AbstractNumberNode), typeof(InputSocket), 0),
                (OutputSocket)perlinNoise.GetSocket(typeof(AbstractNumberNode), typeof(OutputSocket), 0));


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

            // =====

            return(deserializedGraph);
        }
        // <summary> Creates a default Graph. Could also be an empty Graph </summary>
        public Graph CreateDefaultGraph()
        {
            Graph graph = new Graph();

            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));

            var perlinNoise = new PerlinNoiseNode(graph.GetUniqueId());
            perlinNoise.X = 80;
            perlinNoise.Y = 250;
            graph.AddNode(perlinNoise);

            var displayMap = new MapDisplayNode(graph.GetUniqueId());
            displayMap.X = 300;
            displayMap.Y = 280;
            graph.AddNode(displayMap);

            graph.Link(perlinNoise.GetSocket(NumberNode.FloatType, SocketDirection.Output, 0),
                displayMap.GetSocket(NumberNode.FloatType, SocketDirection.Input, 0));

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

            return deserializedGraph;
        }