예제 #1
0
 private void GetEditorPrefs()
 {
     _isTransparent    = EditorPrefs.GetBool(prefsIsTransparent, false);
     _overwriteWarning = EditorPrefs.GetBool(prefsOverwriteWarning, true);
     _uniqueSuffix     = EditorPrefs.GetBool(prefsUniqueSuffix, false);
     _captureSceneView = EditorPrefs.GetBool(prefsCaptureSceneView, false);
     _sizeMultiplier   = EditorPrefs.GetInt(prefsSizeMultiplier, 1);
     _fileName         = EditorPrefs.GetString(prefsFileName, "Screenshot");
     _pathName         = EditorPrefs.GetString(prefsPathName, Environment.GetFolderPath(Environment.SpecialFolder.Desktop));
     _suffixType       = (SUFFIXTYPE)EditorPrefs.GetInt(prefsSuffixType, 0);
 }
예제 #2
0
    private string AddSuffix(string fileName, SUFFIXTYPE suffixtype, int runningNumber)
    {
        string   dateString;
        DateTime dateTime = DateTime.Now;

        if (suffixtype == SUFFIXTYPE.INCREMENT)
        {
            fileName += "_" + runningNumber.ToString("D4");
            runningNumber++;
        }
        if (suffixtype == SUFFIXTYPE.DATE)
        {
            dateString = dateTime.ToString("yyMMddHHmmss");
            fileName  += "_" + dateString;
        }

        return(fileName);
    }
예제 #3
0
    private void OnGUI()
    {
        EditorGUILayout.Space();
        EditorGUILayout.BeginHorizontal();
        EditorGUILayout.BeginVertical();

        EditorGUILayout.LabelField("Folder:", EditorStyles.boldLabel);
        if (GUILayout.Button("Select Folder"))
        {
            _pathName = EditorUtility.SaveFolderPanel("Choose destination folder", _pathName, "");
        }

        EditorGUILayout.EndVertical();
        EditorGUILayout.BeginVertical();

        EditorGUILayout.LabelField("File name:", EditorStyles.boldLabel);
        EditorGUI.BeginChangeCheck();
        _fileName = EditorGUILayout.TextField(_fileName, GUILayout.MaxWidth(300));
        if (EditorGUI.EndChangeCheck())
        {
            if (_fileName == "")
            {
                _fileName = _previousFileName;
            }
            _runningNumber    = 1;
            _fileName         = Path.GetFileNameWithoutExtension(_fileName);
            _previousFileName = _fileName;
        }

        EditorGUILayout.EndVertical();
        EditorGUILayout.EndHorizontal();

        EditorGUILayout.BeginVertical();

        GUI.enabled = false;
        EditorGUILayout.LabelField(Path.GetFullPath(Path.Combine(_pathName, Path.GetFileNameWithoutExtension(_fileName) + _suffix + ".png")));
        GUI.enabled = true;

        EditorGUILayout.Space();

        _overwriteWarning = EditorGUILayout.Toggle("Overwrite warning:", _overwriteWarning);
        _uniqueSuffix     = EditorGUILayout.Toggle("Add unique suffix:", _uniqueSuffix);

        EditorGUI.BeginDisabledGroup(!_uniqueSuffix);
        _suffixType = (SUFFIXTYPE)EditorGUILayout.EnumPopup("Suffix type:", _suffixType, GUILayout.MaxWidth(250));
        if (_uniqueSuffix)
        {
            _suffix = "_suffix";
        }
        else
        {
            _suffix = "";
        }
        EditorGUI.EndDisabledGroup();

        EditorGUILayout.EndVertical();
        EditorGUILayout.BeginHorizontal();

        _sizeMultiplier = EditorGUILayout.IntField("Image size multiplier:", _sizeMultiplier, GUILayout.MaxWidth(200));
        _sizeMultiplier = Mathf.Clamp(_sizeMultiplier, 1, 10);

        _isTransparent = EditorGUILayout.Toggle("Capture transparency:", _isTransparent);

        EditorGUILayout.EndHorizontal();
        _captureSceneView = EditorGUILayout.Toggle("Capture SceneView:", _captureSceneView);
        EditorGUILayout.Space();

        if (GUILayout.Button("Capture", GUILayout.Width(Screen.width - 6), GUILayout.Height(40)))
        {
            DoCapture();
        }

        EditorGUILayout.Space();
        EditorGUILayout.BeginHorizontal();
        if (GUILayout.Button("Clear prefs"))
        {
            EditorPrefs.DeleteKey(prefsIsTransparent);
            EditorPrefs.DeleteKey(prefsOverwriteWarning);
            EditorPrefs.DeleteKey(prefsUniqueSuffix);
            EditorPrefs.DeleteKey(prefsCaptureSceneView);
            EditorPrefs.DeleteKey(prefsSizeMultiplier);
            EditorPrefs.DeleteKey(prefsFileName);
            EditorPrefs.DeleteKey(prefsPathName);
            EditorPrefs.DeleteKey(prefsSuffixType);

            GetEditorPrefs();

            SaveEditorPrefs();
        }
        GUILayout.Space(Screen.width / 1.5f);
        EditorGUILayout.EndHorizontal();
        SaveEditorPrefs();
    }