private void OnEnable() { currentDisplay = null; if (ConnectionsDisplayer.Instance.Handles.Count > 0) { foreach (ConnectionsDisplayer.DisplayedConnectionHandle handle in ConnectionsDisplayer.Instance.Handles) { if (handle.connection.paired) { currentDisplay = handle.display; } } if (currentDisplay) { //handle lock text if (currentDisplay.Connection.lockedId == "free") { lockText.text = "Lock Device"; } else { lockText.text = "Unlock Device"; } autocalibrateText.text = "(no autocalibration data available)"; } } }
public static void removeConnection(ConnectionDisplay connection) { connection.startingNode.unconnect(); if (connection.endingNode != null) { connection.endingNode.unconnect(); } connections.Remove(connection); }
public static void nodeClicked(NodeDisplay display, bool isPositive) { if (firstClicked == null) { firstClicked = display; GameObject cObj = Instantiate(staticPrefab); ConnectionDisplay line = cObj.GetComponent <ConnectionDisplay>(); line.startingNode = display; connections.Add(line); } else { ConnectionDisplay line = connections[connections.Count - 1]; if (firstClicked.node.isSame(display.node)) { removeConnection(line); Destroy(line.gameObject); firstClicked.unconnect(); display.unconnect(); } else if (firstClicked.layerInt != (display.layerInt - 1)) { removeConnection(line); Destroy(line.gameObject); firstClicked.unconnect(); display.unconnect(); } else { line.isPositive = isPositive; line.endingNode = display; display.updateNode(); //firstClicked.showConnected(); //display.showConnected(); } firstClicked = null; } }