void Update() { if (keyToHold == KeyCode.None && keyToPress != KeyCode.None) { if (Input.GetKeyDown(keyToPress)) { screenshotHelper.GetScreenShots(); } } else if (keyToHold != KeyCode.None && keyToPress != KeyCode.None) { if (Input.GetKey(keyToHold) && Input.GetKeyDown(keyToPress)) { screenshotHelper.GetScreenShots(); } } }
public override void OnInspectorGUI() { ScreenshotHelper ssHelper = (ScreenshotHelper)target; serializedObject.Update(); var cameraArrayProp = serializedObject.FindProperty("cameras"); EditorGUI.BeginChangeCheck(); EditorGUILayout.PropertyField( cameraArrayProp, new GUIContent("Cameras (leave empty to autodetect)"), true); if (EditorGUI.EndChangeCheck()) { serializedObject.ApplyModifiedProperties(); } RenderTextureToggleAndWarning(ssHelper); CameraSolidColorTransparencyWarning(ssHelper); MakeSpace(1); EditorGUI.BeginChangeCheck(); MakeSpace(1); ssHelper.orientation = (SSHOrientation)EditorGUILayout.EnumPopup( "Orientation", ssHelper.orientation); if (EditorGUI.EndChangeCheck()) { ssHelper.UpdateDimensions(); } //sizes header MakeSpace(1); EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("Screen Shot Sizes", EditorStyles.boldLabel); EditorGUILayout.EndHorizontal(); ssHelper.fileNamePrefix = EditorGUILayout.TextField("Filename prefix", ssHelper.fileNamePrefix); MakeSpace(1); SetSizesSubs(ssHelper); //add a size EditorGUILayout.Space(); EditorGUI.BeginDisabledGroup(ssHelper.IsTakingShots); if (GUILayout.Button(new GUIContent(" Add a size", AddIcon), ButtonHeight)) { ssHelper.shotInfo.Add(new ShotSize(0, 0)); } //ssHelper.didPressEditorScreenshotButton = false; didStartTaking = false; if (GUILayout.Button(new GUIContent("Take Shots!", ShutterIcon))) { EditorApplication.isPlaying = true; ssHelper.didPressEditorScreenshotButton = true; } //Debug.LogFormat("didPress: {0} isPlay: {1}", ssHelper.didPressEditorScreenshotButton, EditorApplication.isPlaying); if (ssHelper.didPressEditorScreenshotButton && EditorApplication.isPlaying) { didStartTaking = true; ssHelper.didPressEditorScreenshotButton = false; ssHelper.OnComplete += () => { //Debug.Log("OnComplete"); EditorApplication.isPlaying = false; }; //Debug.Log("Call runtake"); ssHelper.GetScreenShots(); } if (didStartTaking && !EditorApplication.isPlaying) { didStartTaking = false; ssHelper.didPressEditorScreenshotButton = false; } MakeSpace(3); ssHelper.openFolderWhenDone = EditorGUILayout.ToggleLeft( "Open folder when done?", ssHelper.openFolderWhenDone); EditorGUILayout.HelpBox( "In-editor Save location: " + ssHelper.savePath, MessageType.None); if (GUILayout.Button( new GUIContent(" Set in-editor save location", FolderIcon), ButtonHeight)) { ssHelper.savePath = GameViewUtils.SelectFileFolder( Directory.GetCurrentDirectory(), ""); PathChange(ssHelper.savePath); } MakeSpace(1); EditorGUILayout.HelpBox( "Build Save location example: " + ssHelper.BuildSaveLocation(), MessageType.None); if (GUILayout.Button( new GUIContent(" Set build save location", FolderIcon), ButtonHeight)) { ScreenshotHelperBuildSaveLocationWindow.ShowWindow(ssHelper); } MakeSpace(2); if (GUILayout.Button(new GUIContent(" Save Presets", SaveIcon), ButtonHeight)) { string newConfig = SavePreset(ssHelper); if (!string.IsNullOrEmpty(newConfig)) { ssHelper.configFile = newConfig; } } LoadPresetsButton(ssHelper); MakeSpace(2); if (GUILayout.Button(new GUIContent(" Load Defaults", OpenIcon), ButtonHeight)) { ssHelper.SetDefaults(); ssHelper.configFile = ""; } EditorGUI.EndDisabledGroup(); MakeSpace(1); }