void render() { if (roundNodes.Count == 0) { return; } if (selectedRound >= roundNodes.Count || selectedRound < 0) { Debug.LogWarning("Telemetry: Selected round is invalid"); return; } foreach (var node in roundNodes[selectedRound]) { Vector3 position = positionVectorFromNode(node); string nodeType = node["Type"].Value <string> (); int nodeID = node["ID"].Value <int> (); GameObject instantiatedNode = instantiateNode(nodeType, nodeID, position); instantiatedNode.transform.SetParent(nodesBag.transform); Telemetry_NodeInfoHolder tooltip = instantiatedNode.GetComponent <Telemetry_NodeInfoHolder> (); tooltip.setInfo(node); int linkId = node["Link"].Value <int> (); if (linkId != -1) { //Renders link line between two nodes LineRenderer lineRenderer = instantiatedNode.GetComponent <LineRenderer> (); Vector3 linkPosition = positionVectorFromNode(roundNodes[selectedRound][linkId]); Vector3[] positionsToLink = { position, linkPosition }; lineRenderer.SetPositions(positionsToLink); } } }
void OnSceneMouseOver(SceneView view) { RaycastHit hit; Ray ray = HandleUtility.GUIPointToWorldRay(Event.current.mousePosition); if (Physics.Raycast(ray, out hit)) { Debug.Log("hitu"); if (hit.transform.tag.Equals(telemetryNodeTag)) { currentTooltipHandler = hit.transform.GetComponent <Telemetry_NodeInfoHolder>(); JToken nodeInfo = currentTooltipHandler.getInfo(); nodeInfoWindow.setInfo(nodeInfo); } } }