Example #1
0
 public static bool Save(string fileName, Graph graph)
 {
     var file = File.CreateText(fileName);
     file.Write((string) graph.ToJson());
     file.Close();
     return true;
 }
        // <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;
        }
 public BonCanvas(Graph graph)
 {
     this.Graph = graph;
     Style.normal.background = CreateBackgroundTexture();
     Style.normal.background.wrapMode = TextureWrapMode.Repeat;
     Style.fixedHeight = CanvasSize;
     Style.fixedWidth = CanvasSize;
 }
 public void OnCreate(Graph graph)
 {
     this._graph = graph;
     UpdateNodes();
 }
 // <summary> Gets called if the editor closes a graph </summary>
 public void CloseGraph(Graph g)
 {
     _graphs.Remove(g);
 }
 // <summary> Gets called if the editor requests to save the assigned graph </summary>
 public void SaveGraph(Graph g, string path)
 {
     Graph.Save(path, g);
 }