public void ReversePathDirection() { var temp = fromNode; fromNode = toNode; toNode = temp; IsReversed = !IsReversed; }
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); }
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; }
private void OnNodeBehaviourSpawned(NodeBehaviour node) { AllNodes.Add(node); NodeArcsMap.Add(node, new List <ArcBehaviour>()); }