Пример #1
0
        public void ReversePathDirection()
        {
            var temp = fromNode;

            fromNode   = toNode;
            toNode     = temp;
            IsReversed = !IsReversed;
        }
Пример #2
0
        public ArcBehaviour SpawnArc(NodeBehaviour fromNode, NodeBehaviour toNode)
        {
            // Set new connection position to average of node positions
            Vector3 newPos = 0.5f * (fromNode.transform.position + toNode.transform.position);

            ArcBehaviour newArc = Instantiate(arcPrefab);

            newArc.transform.position = newPos;
            newArc.Initialize(fromNode, toNode);
            ArcBehaviourSpawned.Invoke(newArc);

            return(newArc);
        }
Пример #3
0
        public void Initialize(NodeBehaviour fromNode, NodeBehaviour toNode)
        {
            IsFlowing = false;

            this.fromNode = fromNode;
            this.toNode   = toNode;

            Vector3 from = fromNode.transform.position;
            Vector3 to   = toNode.transform.position;

            transform.rotation = Quaternion.LookRotation(to - from, Vector3.up);

            lineRenderer = GetComponent <LineRenderer>();
            lineRenderer.SetPositions(new Vector3[] { from, to });

            selectionLine.SetPositions(new Vector3[] { from, to });

            AddColliderToLine(from, to);

            UpdateRenderer();

            IsInitialized = true;
        }
Пример #4
0
 private void OnNodeBehaviourSpawned(NodeBehaviour node)
 {
     AllNodes.Add(node);
     NodeArcsMap.Add(node, new List <ArcBehaviour>());
 }