12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- #if UNITY_EDITOR
- using UnityEngine;
- using UnityEditor;
- using System;
- namespace O3DWB
- {
- [Serializable]
- public class Octave3DConfigSaveWindow : Octave3DEditorWindow
- {
- #region Public Static Functions
- public static Octave3DConfigSaveWindow Get()
- {
- return Octave3DWorldBuilder.ActiveInstance.ConfigSaveWindow;
- }
- #endregion
- #region Public Methods
- public override string GetTitle()
- {
- return "Octave3D Config Save";
- }
- public override void ShowOctave3DWindow()
- {
- ShowDockable(true);
- }
- #endregion
- #region Protected Methods
- protected override void RenderContent()
- {
- RenderContentInScrollView();
- }
- #endregion
- #region Private Methods
- private void RenderContentInScrollView()
- {
- EditorGUILayout.HelpBox("Please choose the settings you wish to save.", UnityEditor.MessageType.None);
- Octave3DWorldBuilder.ActiveInstance.ConfigSaveSettings.View.Render();
- RenderSaveButton();
- }
- private void RenderSaveButton()
- {
- if(GUILayout.Button(GetContentForSaveButton(), GUILayout.Width(100.0f)))
- {
- string fileName = EditorUtility.SaveFilePanel("Save Octave3D Config", Octave3DWorldBuilder.ActiveInstance.ConfigSaveSettings.LastUsedFolder, "", "o3dcfg");
- if (!string.IsNullOrEmpty(fileName))
- {
- Octave3DConfigSave.SaveConfig(fileName, Octave3DWorldBuilder.ActiveInstance.ConfigSaveSettings);
- Octave3DWorldBuilder.ActiveInstance.ConfigSaveSettings.LastUsedFolder = FileSystem.GetLastFolderNameInPath(fileName);
- EditorUtility.DisplayDialog("Octave3D Config Save", "The configuration was saved successfully!", "OK");
- }
- }
- }
- private GUIContent GetContentForSaveButton()
- {
- var content = new GUIContent();
- content.text = "Save settings";
- content.tooltip = "Saves the selected settings to a specified file.";
- return content;
- }
- #endregion
- }
- }
- #endif
|