public virtual void Init(Edge edge, VizNode start, VizNode end, VizGraph graph) { Edge = edge; StartNode = start; EndNode = end; Graph = graph; }
public VizEdge Connect(VizNode start, VizNode end) { //VizEdge edge = Instantiate<VizEdge>(EdgeObj, EdgesPivot); VizEdge edge = new VizEdge(); edge.Init(Model.Connect(start.Node, end.Node), start, end, this); Edges.Add(edge); return(edge); }
public VizNode CreateNode(object data) { VizNode nodeObj = Instantiate <VizNode>(NodeObj, NodesPivot); nodeObj.Init(new Node(), data, this); Vector3 v = UnityEngine.Random.insideUnitSphere + Vector3.one; nodeObj.Node.Location = new Vector(v.x, v.y, v.z); return(nodeObj); }
IEnumerator AddTestNodes(int number, bool isdynamic) { int SpawnedPerFrame = 100; int count = SpawnedPerFrame; for (int i = 0; i < number; i++) { VizNode start; if (Nodes.Count < 2) { start = CreateNode(); AddNode(start); } else { start = Nodes[UnityEngine.Random.Range(0, Nodes.Count - 1)]; } VizNode end = CreateNode(); AddNode(end); Connect(start, end); if (--count < 0) { StartUpdateModel(); yield return(null); count = SpawnedPerFrame; } } UpdateInfo(); if (isdynamic) { StartUpdateModel(); } }
public void AddNode(VizNode node) { Nodes.Add(node); Model.Add(node.Node); }