/// <summary> /// Unity OnGUI function. /// /// Mainly for removing markers. /// </summary> public void OnGUI() { if (m_selectedMarker != null) { Renderer selectedRenderer = m_selectedMarker.GetComponent <Renderer>(); // GUI's Y is flipped from the mouse's Y Rect screenRect = _WorldBoundsToScreen(Camera.main, selectedRenderer.bounds); float yMin = Screen.height - screenRect.yMin; float yMax = Screen.height - screenRect.yMax; screenRect.yMin = Mathf.Min(yMin, yMax); screenRect.yMax = Mathf.Max(yMin, yMax); if (GUI.Button(screenRect, "<size=30>Hide</size>")) { m_markerList.Remove(m_selectedMarker.gameObject); m_selectedMarker.SendMessage("Hide"); m_selectedMarker = null; m_selectedRect = new Rect(); } else { m_selectedRect = screenRect; } } else { m_selectedRect = new Rect(); } }
/// <summary> /// Display simple GUI. /// </summary> public void OnGUI() { if (m_showDebug && m_tangoApplication.HasRequestedPermissions()) { Color oldColor = GUI.color; GUI.color = Color.white; GUI.color = Color.black; GUI.Label(new Rect(UI_LABEL_START_X, UI_LABEL_START_Y, UI_LABEL_SIZE_X, UI_LABEL_SIZE_Y), UI_FONT_SIZE + String.Format(UX_TANGO_SERVICE_VERSION, m_tangoServiceVersion) + "</size>"); GUI.Label(new Rect(UI_LABEL_START_X, UI_FPS_LABEL_START_Y, UI_LABEL_SIZE_X, UI_LABEL_SIZE_Y), UI_FONT_SIZE + m_fpsText + "</size>"); // MOTION TRACKING GUI.Label(new Rect(UI_LABEL_START_X, UI_POSE_LABEL_START_Y - UI_LABEL_OFFSET, UI_LABEL_SIZE_X, UI_LABEL_SIZE_Y), UI_FONT_SIZE + String.Format(UX_TARGET_TO_BASE_FRAME, "Device", "Start") + "</size>"); Vector3 pos = m_arScreen.transform.position; Quaternion quat = m_arScreen.transform.rotation; string positionString = pos.x.ToString(UI_FLOAT_FORMAT) + ", " + pos.y.ToString(UI_FLOAT_FORMAT) + ", " + pos.z.ToString(UI_FLOAT_FORMAT); string rotationString = quat.x.ToString(UI_FLOAT_FORMAT) + ", " + quat.y.ToString(UI_FLOAT_FORMAT) + ", " + quat.z.ToString(UI_FLOAT_FORMAT) + ", " + quat.w.ToString(UI_FLOAT_FORMAT); string statusString = String.Format(UX_STATUS, _GetLoggingStringFromPoseStatus(m_arScreen.m_status), _GetLoggingStringFromFrameCount(m_arScreen.m_frameCount), positionString, rotationString); GUI.Label(new Rect(UI_LABEL_START_X, UI_POSE_LABEL_START_Y, UI_LABEL_SIZE_X, UI_LABEL_SIZE_Y), UI_FONT_SIZE + statusString + "</size>"); GUI.color = oldColor; } if (m_selectedMarker != null) { Renderer selectedRenderer = m_selectedMarker.GetComponent <Renderer>(); // GUI's Y is flipped from the mouse's Y Rect screenRect = WorldBoundsToScreen(Camera.main, selectedRenderer.bounds); float yMin = Screen.height - screenRect.yMin; float yMax = Screen.height - screenRect.yMax; screenRect.yMin = Mathf.Min(yMin, yMax); screenRect.yMax = Mathf.Max(yMin, yMax); if (GUI.Button(screenRect, "<size=30>Hide</size>")) { m_selectedMarker.SendMessage("Hide"); m_selectedMarker = null; m_selectedRect = new Rect(); } else { m_selectedRect = screenRect; } } else { m_selectedRect = new Rect(); } if (GameObject.FindObjectOfType <ARLocationMarker>() != null) { m_hideAllRect = new Rect(Screen.width - UI_BUTTON_SIZE_X - UI_BUTTON_GAP_X, Screen.height - UI_BUTTON_SIZE_Y - UI_BUTTON_GAP_X, UI_BUTTON_SIZE_X, UI_BUTTON_SIZE_Y); if (GUI.Button(m_hideAllRect, "<size=30>Hide All</size>")) { foreach (ARLocationMarker marker in GameObject.FindObjectsOfType <ARLocationMarker>()) { marker.SendMessage("Hide"); } } } else { m_hideAllRect = new Rect(0, 0, 0, 0); } }