コード例 #1
0
 public virtual void Init(Edge edge, VizNode start, VizNode end, VizGraph graph)
 {
     Edge      = edge;
     StartNode = start;
     EndNode   = end;
     Graph     = graph;
 }
コード例 #2
0
        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);
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        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();
            }
        }
コード例 #5
0
 public void AddNode(VizNode node)
 {
     Nodes.Add(node);
     Model.Add(node.Node);
 }