public override void OnInspectorGUI() { TBEditorExtensions.ShowHeaderImage(TBEditorExtensions.turboButtonHeader); base.OnInspectorGUI(); TBCameraRig cameraRig = (TBCameraRig)target; // If the game is running, show a button to quickly access TBScreenshotCamera. if (Application.isPlaying) { // If the TBScreenshotCamera GameObject is disabled, show a message. if (cameraRig.TBScreenshotCamera != null) { GUI.backgroundColor = TBEditorExtensions.color_TButtGold; if (GUILayout.Button("Select TBScreenshotCamera", GUILayout.MinHeight(50))) { Selection.activeObject = cameraRig.TBScreenshotCamera.gameObject; } return; } } }
public override void OnInspectorGUI() { TBScreenshotCamera screenshotCamera = (TBScreenshotCamera)target; TBEditorExtensions.ShowHeaderImage(TBEditorExtensions.turboButtonHeader); #region POSITION / ROTATION SETTINGS // If the game is running, show options for adjusting position and rotation based on TBCenter. if (Application.isPlaying) { // If the TBScreenshotCamera GameObject is disabled, show a message. if (!screenshotCamera.gameObject.activeSelf) { EditorGUILayout.HelpBox("Enable the TBScreenshotCamera GameObject to access screenshot options.", UnityEditor.MessageType.Error); GUI.backgroundColor = TBEditorExtensions.color_TButtGold; if (GUILayout.Button("Enable TBScreenshotCamera", GUILayout.MinHeight(60))) { screenshotCamera.gameObject.SetActive(true); } return; } // Position and rotation settings. EditorGUILayout.LabelField("Camera Alignment", EditorStyles.boldLabel); if (!screenshotCamera.IsParented()) { if (GUILayout.Button("Attach to TBCenter")) { screenshotCamera.ToggleParenting(); } if (GUILayout.Button("Reset Position")) { screenshotCamera.MatchVRCameraPosition(); } if (GUILayout.Button("Reset Orientation")) { screenshotCamera.MatchVRCameraOrientation(); } } else { if (GUILayout.Button("Detach from TBCenter")) { screenshotCamera.ToggleParenting(); } } EditorGUILayout.LabelField("", GUI.skin.horizontalSlider); // Acts s a horizontal section / line break. } #endregion #region RESOLUTION SETTINGS EditorGUILayout.LabelField("Resolution", EditorStyles.boldLabel); screenshotCamera.resWidth = EditorGUILayout.IntField("Width", screenshotCamera.resWidth); screenshotCamera.resHeight = EditorGUILayout.IntField("Height", screenshotCamera.resHeight); if (GUILayout.Button("Set to 4K")) { screenshotCamera.resWidth = 3840; screenshotCamera.resHeight = 2160; } if (GUILayout.Button("Set to 1440p")) { screenshotCamera.resWidth = 2560; screenshotCamera.resHeight = 1440; } if (GUILayout.Button("Set to 1080p")) { screenshotCamera.resWidth = 1920; screenshotCamera.resHeight = 1080; } EditorGUILayout.LabelField("", GUI.skin.horizontalSlider); // Acts s a horizontal section / line break. #endregion #region SAVE PATH SETTINGS // Save path location selection. GUILayout.Label("Save Location", EditorStyles.boldLabel); EditorGUILayout.BeginHorizontal(); screenshotCamera.savePath = EditorGUILayout.TextField(screenshotCamera.savePath, GUILayout.ExpandWidth(false)); if (GUILayout.Button("Browse...", GUILayout.ExpandWidth(false))) { screenshotCamera.savePath = EditorUtility.SaveFolderPanel("Choose a path to save your screenshot", screenshotCamera.savePath, Application.dataPath); } EditorGUILayout.EndHorizontal(); EditorGUILayout.LabelField("", GUI.skin.horizontalSlider); // Acts s a horizontal section / line break. #endregion #region MISC SETTINGS // Filename Prefix GUILayout.Label("Filename Prefix", EditorStyles.boldLabel); screenshotCamera.prefix = EditorGUILayout.TextField(screenshotCamera.prefix, GUILayout.ExpandWidth(false)); EditorGUILayout.LabelField("", GUI.skin.horizontalSlider); // Acts s a horizontal section / line break. GUILayout.Label("Misc Settings", EditorStyles.boldLabel); screenshotCamera.openAfterSaving = (bool)EditorGUILayout.Toggle("View after saving", screenshotCamera.openAfterSaving); screenshotCamera.forceMSAA = (bool)EditorGUILayout.Toggle("Use 8xMSAA", screenshotCamera.forceMSAA); screenshotCamera.hotkey = EditorGUILayout.BeginToggleGroup("Enable hotkey", screenshotCamera.hotkey); screenshotCamera.hotkeyKeycode = (KeyCode)EditorGUILayout.EnumPopup("Screenshot Hotkey", screenshotCamera.hotkeyKeycode, GUILayout.ExpandWidth(true)); EditorGUILayout.EndToggleGroup(); if (screenshotCamera.hideScreenshotObjects) { if (GUILayout.Button("Show Screenshot Objects")) { screenshotCamera.ToggleScreenshotObjects(screenshotCamera.hideScreenshotObjects); } } else { if (GUILayout.Button("Hide Screenshot Objects")) { screenshotCamera.ToggleScreenshotObjects(screenshotCamera.hideScreenshotObjects); } } #endregion EditorGUILayout.LabelField("", GUI.skin.horizontalSlider); // Acts s a horizontal section / line break. // The "Take Screenshot" button. GUI.backgroundColor = GUI.backgroundColor = TBEditorExtensions.color_TButtGold; if (GUILayout.Button("Take Screenshot", GUILayout.MinHeight(60))) { if (screenshotCamera.savePath == "") { Debug.LogError("TBScreenshotCamera: You must choose a Save Location before taking a screenshot."); } else { screenshotCamera.TakeScreenshot(); } } }