Beispiel #1
0
    public void Save(string fileName, ScreenshotHelper ssh)
    {
        if (string.IsNullOrEmpty(fileName))
        {
            return;
        }
        if (ssh.shotInfo.Count <= 0)
        {
            var tempDelegate = ssh.DefaultsSet;
            ssh.DefaultsSet = null;
            ssh.SetDefaults();
            ssh.DefaultsSet = tempDelegate;
        }

        sizes          = ssh.shotInfo;
        orientation    = ssh.orientation;
        lastSavePath   = ssh.savePath;
        keyToPress     = ssh.keyToPress;
        keyToHold      = ssh.keyToHold;
        buildPathRoot  = ssh.buildSavePathRoot;
        buildPathExtra = ssh.buildSavePathExtra;
        textureFormat  = ssh.SSHTextureFormat;

        var serializer = new XmlSerializer(typeof(SSHPreset));

        using (var stream = new FileStream(fileName, FileMode.Create))
            serializer.Serialize(stream, this);
    }
Beispiel #2
0
    void OnEnable()
    {
        ScreenshotHelper myTarget = (ScreenshotHelper)target;

        bool loadConfig = false;

        if (myTarget.shotInfo.Count == 0 || !string.IsNullOrEmpty(myTarget.configFile))
        {
            if (!string.IsNullOrEmpty(myTarget.configFile))
            {
                if (File.Exists(myTarget.configFile))
                {
                    loadConfig = true;
                }
            }

            if (loadConfig)
            {
                LoadPresetFile(myTarget.configFile, myTarget);
            }
            else
            {
                myTarget.SetDefaults();
            }
        }

        if (!loadConfig)
        {
            LoadPresetFile(SSHPreset.DefaultSavePath(), myTarget);
            if (File.Exists(SSHPreset.DefaultSavePath()))
            {
                File.Delete(SSHPreset.DefaultSavePath());
            }
        }

        myTarget.PathChange = PathChange;
        //myTarget.DefaultsSet = SaveSettings;
    }
Beispiel #3
0
    public override void OnInspectorGUI()
    {
        ScreenshotHelper myTarget = (ScreenshotHelper)target;

        RenderTextureToggleAndWarning(myTarget);

        myTarget.SSHTextureFormat = (ScreenshotHelper.tSSHTextureFormat)EditorGUILayout.EnumPopup("Texture Format", myTarget.SSHTextureFormat);

        CameraSolidColorTransparencyWarning(myTarget);

        MakeSpace(1);

        EditorGUI.BeginChangeCheck();

        myTarget.keyToHold  = (KeyCode)EditorGUILayout.EnumPopup("Key to hold:", myTarget.keyToHold);
        myTarget.keyToPress = (KeyCode)EditorGUILayout.EnumPopup("Key to press:", myTarget.keyToPress);
        if (myTarget.keyToPress == KeyCode.None)
        {
            EditorGUILayout.HelpBox("If you don't assign a key to press then you will not be able to take screenshots with a key press.", MessageType.Warning, true);
        }

        MakeSpace(1);
        myTarget.orientation = (SSHOrientation)EditorGUILayout.EnumPopup("Orientation", myTarget.orientation);

        if (EditorGUI.EndChangeCheck())
        {
            myTarget.UpdateDimensions();
        }

        //sizes header
        MakeSpace(1);
        EditorGUILayout.BeginHorizontal();
        EditorGUILayout.LabelField("Screen Shot Sizes", EditorStyles.boldLabel);
        EditorGUILayout.EndHorizontal();
        EditorGUILayout.BeginHorizontal();
        EditorGUILayout.HelpBox("Expand each to edit", MessageType.None, true);
        EditorGUILayout.EndHorizontal();
        MakeSpace(1);

        SetSizesSubs(myTarget);

        //add a size
        EditorGUILayout.Space();
        if (GUILayout.Button("Add a size"))
        {
            myTarget.shotInfo.Add(new ShotSize(0, 0));
        }


        MakeSpace(3);

        EditorGUILayout.HelpBox("In-editor Save location: " + myTarget.savePath, MessageType.None);
        if (GUILayout.Button("Set in-editor save location"))
        {
            myTarget.savePath = GameViewUtils.SelectFileFolder(Directory.GetCurrentDirectory(), "");
            PathChange(myTarget.savePath);
        }

        MakeSpace(1);

        EditorGUILayout.HelpBox("Build Save location example: " + myTarget.BuildSaveLocation(), MessageType.None);
        if (GUILayout.Button("Set build save location"))
        {
            ScreenshotHelperBuildSaveLocationWindow.ShowWindow(myTarget);
        }


        MakeSpace(2);

        if (GUILayout.Button("Save Presets"))
        {
            string newConfig = SavePreset(myTarget);
            if (!string.IsNullOrEmpty(newConfig))
            {
                myTarget.configFile = newConfig;
            }
        }

        LoadPresetsButton(myTarget);

        MakeSpace(2);

        if (GUILayout.Button("Load Defaults"))
        {
            myTarget.SetDefaults();
            myTarget.configFile = "";
        }

        MakeSpace(1);
    }