1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- #if UNITY_EDITOR
- using UnityEngine;
- using UnityEditor;
- using System;
- namespace O3DWB
- {
- [Serializable]
- public class Octave3DConfigLoadWindow : Octave3DEditorWindow
- {
- #region Public Static Functions
- public static Octave3DConfigLoadWindow Get()
- {
- return Octave3DWorldBuilder.ActiveInstance.ConfigLoadWindow;
- }
- #endregion
- #region Public Methods
- public override string GetTitle()
- {
- return "Octave3D Config Load";
- }
- 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 load.", UnityEditor.MessageType.None);
- Octave3DWorldBuilder.ActiveInstance.ConfigLoadSettings.View.Render();
- RenderLoadButton();
- }
- private void RenderLoadButton()
- {
- if (GUILayout.Button(GetContentForLoadButton(), GUILayout.Width(100.0f)))
- {
- string fileName = EditorUtility.OpenFilePanel("Load Octave3D Config", Octave3DWorldBuilder.ActiveInstance.ConfigLoadSettings.LastUsedFolder, "o3dcfg");
- if (!string.IsNullOrEmpty(fileName))
- {
- Octave3DConfigLoad.LoadConfig(fileName, Octave3DWorldBuilder.ActiveInstance.ConfigLoadSettings);
- Octave3DWorldBuilder.ActiveInstance.ConfigLoadSettings.LastUsedFolder = FileSystem.GetLastFolderNameInPath(fileName);
- Octave3DWorldBuilder.ActiveInstance.Inspector.Repaint();
- EditorUtility.DisplayDialog("Octave3D Config Load", "The configuration was loaded successfully!", "OK");
- }
- }
- }
- private GUIContent GetContentForLoadButton()
- {
- var content = new GUIContent();
- content.text = "Load settings";
- content.tooltip = "Loads the selected settings to a specified file.";
- return content;
- }
- #endregion
- }
- }
- #endif
|