public void Open(string path) { StreamReader stream = new StreamReader(path); string json = stream.ReadToEnd(); Graph.Graph graph = new Graph.Graph(JsonUtility.FromJson <SaveGraph>(json)); draw.Clear(); draw.NewDraw(graph); }
public void Clear() { graph = null; foreach (Transform t in graphDomain) { Destroy(t.gameObject); } nodes.Clear(); }
public void NewDraw(Graph.Graph graph) { this.graph = graph; foreach (var i in graph) { var n = point.Create(i); n.transform.SetParent(graphDomain); nodes.Add(n); } foreach (var i in graph) { foreach (var j in i.neighbouringNodes) { lineRenderer = Instantiate(line, graphDomain) .GetComponent <LineRenderer>(); lineRenderer.positionCount = 2; lineRenderer.SetPosition(0, i.position); lineRenderer.SetPosition(1, graph[j].position); } } }
public static void SimpleDraw(ref Graph.Graph graph) { foreach (var i in graph) { i.SetColor(-1); } int color = 0; int count = graph.Count; int id = 0; while (count > 0 || id > 100) { foreach (var i in graph) { if (i.color != -1) { continue; } bool draw = true; foreach (var j in i.neighbouringNodes) { if (color == graph[j].color) { draw = false; break; } } if (draw) { i.SetColor(color); count--; } } id++; color++; } }
private void Awake() { graph = new Graph.Graph(); update = DefaultUpdate; }