예제 #1
0
        public override void OnInspectorGUI()
        {
            if (dropdownGUIStyle == null)
            {
                dropdownGUIStyle = new GUIStyle(EditorStyles.popup)
                {
                    fixedHeight = 16f, margin = new RectOffset(0, 0, 4, 0)
                };
            }

            if (m_profile != null)
            {
                Transform transform = m_profile.gameObject.transform;
                transform.hideFlags = HideFlags.HideInInspector | HideFlags.NotEditable;
                if (m_profile.m_mainCamera == null)
                {
                    m_profile.m_mainCamera = GaiaUtils.GetCamera();
                }
            }

            //Initialization
            m_editorUtils.Initialize(); // Do not remove this!
            if (m_gaiaSettings == null)
            {
                m_gaiaSettings = GaiaUtils.GetGaiaSettings();
            }

            m_editorUtils.Panel("GlobalSettings", GlobalSettingsPanel, false, true, true);
        }
예제 #2
0
        public void OnGUI()
        {
            //Initialization
            m_editorUtils.Initialize(); // Do not remove this!
            scrollPosition = EditorGUILayout.BeginScrollView(scrollPosition, GUILayout.Width(position.width), GUILayout.Height(position.height));

            //Set up the box style
            if (m_boxStyle == null)
            {
                m_boxStyle = new GUIStyle(GUI.skin.box)
                {
                    normal    = { textColor = GUI.skin.label.normal.textColor },
                    fontStyle = FontStyle.Bold,
                    alignment = TextAnchor.UpperLeft
                };
            }

            if (m_profile == null)
            {
                m_profile = GetLocationSystem();
            }

            m_editorUtils.Panel("GlobalSettings", GlobalPanel, true);

            EditorGUILayout.EndScrollView();
        }
예제 #3
0
        public override void OnInspectorGUI()
        {
            //Initialization
            m_editorUtils.Initialize(); // Do not remove this!

            if (m_profile != null)
            {
                //Monitor for changes
                EditorGUI.BeginChangeCheck();

                if (m_gaiaSettings == null)
                {
                    m_gaiaSettings = GaiaUtils.GetGaiaSettings();
                }

                m_editorUtils.Panel("GlobalSettings", GlobalSettings, false, true, true);

                //Check for changes, make undo record, make changes and let editor know we are dirty
                if (EditorGUI.EndChangeCheck())
                {
                    Undo.RecordObject(m_profile, "Made changes");
                    EditorUtility.SetDirty(m_profile);
                }
            }
            else
            {
                if (GaiaGlobal.Instance != null)
                {
                    m_profile = GaiaGlobal.Instance.SceneProfile;
                }
            }
        }
예제 #4
0
        public override void OnInspectorGUI()
        {
            if (redStyle == null || redStyle.normal.background == null || greenStyle == null || greenStyle.normal.background == null)
            {
                redStyle = new GUIStyle();
                redStyle.normal.background = GaiaUtils.GetBGTexture(Color.red, m_tempTextureList);

                greenStyle = new GUIStyle();
                greenStyle.normal.background = GaiaUtils.GetBGTexture(Color.green, m_tempTextureList);
            }


            //Init editor utils
            if (m_editorUtils == null)
            {
                // Get editor utils for this
                m_editorUtils = PWApp.GetEditorUtils(this);
            }
            m_editorUtils.Initialize(); // Do not remove this!
            if (GaiaUtils.HasDynamicLoadedTerrains())
            {
                m_editorUtils.Panel("GeneralSettings", DrawGeneralSettings, true);
                m_editorUtils.Panel("LoaderPanel", DrawLoaders, false);
                m_editorUtils.Panel("PlaceholderPanel", DrawTerrains, false);
            }
            else
            {
                EditorGUILayout.HelpBox(m_editorUtils.GetTextValue("NoTerrainLoadingMessage"), MessageType.Info);
            }
        }
예제 #5
0
        public override void OnInspectorGUI()
        {
            //Initialization
            m_editorUtils.Initialize(); // Do not remove this!

            if (m_profile == null)
            {
                //Get GaiaHierarchyUtils Profile object
                m_profile = (GaiaHierarchyUtils)target;
            }

            //Monitor for changes
            EditorGUI.BeginChangeCheck();

            m_editorUtils.Panel("GlobalSettings", GlobalSettings, true);

            //Check for changes, make undo record, make changes and let editor know we are dirty
            if (EditorGUI.EndChangeCheck())
            {
                Undo.RecordObject(m_profile, "Made changes");
                EditorUtility.SetDirty(m_profile);

                m_profile.SetupHideInHierarchy();
                m_settingsChangedInfo = true;
            }
        }
예제 #6
0
        public override void OnInspectorGUI()
        {
            //Initialization
            m_editorUtils.Initialize(); // Do not remove this!

            m_editorUtils.Panel("SimpleLayerCulling", SimpleLayerCulling, true);
        }
예제 #7
0
        public override void OnInspectorGUI()
        {
            //Initialization
            m_editorUtils.Initialize(); // Do not remove this!

            m_editorUtils.Panel("GlobalSettings", GlobalSettings, false, true, true);
        }
예제 #8
0
        public override void OnInspectorGUI()
        {
            //Initialization
            m_editorUtils.Initialize(); // Do not remove this!
            m_profile = (PWSkyPostProcessingManager)target;

            m_editorUtils.Panel("GlobalSettings", GlobalSettings, true);
        }
예제 #9
0
        public override void OnInspectorGUI()
        {
            m_editorUtils.Initialize(); // Do not remove this!
            m_worldMap = (WorldMap)target;
            serializedObject.Update();

            if (m_worldMap.m_worldMapTerrain == null)
            {
                m_editorUtils.Panel("CreateWorldMap", CreateWorldMap, true);
            }
            else
            {
                m_editorUtils.Panel("CreateWorldMap", CreateWorldMap, false);
                m_editorUtils.Panel("EditWorldMap", DrawEditWorldMap, true);
                m_editorUtils.Panel("SyncHeightmap", DrawSyncHeightmap, true);
            }
        }
예제 #10
0
        public override void OnInspectorGUI()
        {
            m_editorUtils.Initialize();
            if (m_bufferManager == null)
            {
                m_bufferManager = (CommandBufferManager)target;
            }

            m_editorUtils.Panel("GlobalSettings", GlobalPanel, true);
        }
예제 #11
0
        public override void OnInspectorGUI()
        {
            //Initialization
            m_editorUtils.Initialize(); // Do not remove this!

            m_profile.GetResolutionPatches();

            EditorGUILayout.LabelField("Version: " + m_version);

            m_editorUtils.Panel("DetailDistanceSettings", DetailTerrainDistance, true);
        }
예제 #12
0
        public override void OnInspectorGUI()
        {
            //Initialization
            m_editorUtils.Initialize(); // Do not remove this!
            if (m_profile == null)
            {
                m_profile = (ReflectionMasker)target;
            }

            m_editorUtils.Panel("GlobalSettings", GlobalSettings, true);
        }
예제 #13
0
        public override void OnInspectorGUI()
        {
            //Initialization
            m_editorUtils.Initialize(); // Do not remove this!

            if (m_profile == null)
            {
                m_profile = (DisableUnderwaterFXTrigger)target;
            }

            m_editorUtils.Panel("GlobalSettings", GlobalPanel, true);
        }
예제 #14
0
        public override void OnInspectorGUI()
        {
            m_editorUtils.Initialize(); // Do not remove this!
            m_biomePreset = (BiomePreset)target;
            serializedObject.Update();

            m_editorUtils.Panel("BiomeSettings", DrawBiomeSettings, true);

            if (GUILayout.Button(m_editorUtils.GetContent("AddToScene")))
            {
                BiomeController newBiome = m_biomePreset.CreateBiome(true);
                Selection.activeGameObject = newBiome.gameObject;
            }
        }
예제 #15
0
        public override void OnInspectorGUI()
        {
            //Initialization
            m_editorUtils.Initialize(); // Do not remove this!

            EditorGUI.BeginChangeCheck();

            m_editorUtils.Panel("GlobalSettings", GlobalSettings, true);

            //Check for changes, make undo record, make changes and let editor know we are dirty
            if (EditorGUI.EndChangeCheck())
            {
                Undo.RecordObject(m_profile, "Made changes");
                EditorUtility.SetDirty(m_profile);
            }
        }
예제 #16
0
        public override void OnInspectorGUI()
        {
            m_scanner = (Scanner)target;

            m_editorUtils.Initialize(); // Do not remove this!

            //Set up the box style
            if (m_boxStyle == null)
            {
                m_boxStyle = new GUIStyle(EditorStyles.helpBox)
                {
                    normal    = { textColor = GUI.skin.label.normal.textColor },
                    fontStyle = FontStyle.Bold,
                    fontSize  = GUI.skin.label.fontSize,
                    alignment = TextAnchor.UpperLeft
                };
            }

            if (m_dropBoxStyle == null)
            {
                m_dropBoxStyle = new GUIStyle(GUI.skin.box)
                {
                    fontStyle = FontStyle.Bold,
                    alignment = TextAnchor.MiddleCenter
                };
            }

            //Setup the wrap style
            if (m_wrapStyle == null)
            {
                m_wrapStyle = new GUIStyle(GUI.skin.label)
                {
                    fontStyle = FontStyle.Normal, wordWrap = true
                };
            }

            m_editorUtils.Panel("GlobalSettings", GlobalPanel, true);
        }
예제 #17
0
        public override void OnInspectorGUI()
        {
            m_editorUtils.Initialize(); // Do not remove this!
            m_manager = (GaiaSessionManager)target;
            serializedObject.Update();

            SetupOperationHeaderColor(ref m_operationCreateWorldStyle, "3FC1C9ff", "297e83ff", m_tempTextureList);
            SetupOperationHeaderColor(ref m_operationFlattenTerrainStyle, "C46564ff", "804241ff", m_tempTextureList);
            SetupOperationHeaderColor(ref m_operationClearSpawnsStyle, "F0E999ff", "9d9864ff", m_tempTextureList);
            SetupOperationHeaderColor(ref m_operationStampStyle, "B8C99Dff", "788367ff", m_tempTextureList);
            SetupOperationHeaderColor(ref m_operationStampUndoRedoStyle, "d1a6a3ff", "896c6bff", m_tempTextureList);
            SetupOperationHeaderColor(ref m_operationSpawnStyle, "EEB15Bff", "9c743bff", m_tempTextureList);
            SetupOperationHeaderColor(ref m_operationRemoveNonBiomeResourcesStyle, "ba7fcdff", "7a5386ff", m_tempTextureList);
            SetupOperationHeaderColor(ref m_operationMaskMapExportStyle, "9e955bff", "635D39ff", m_tempTextureList);

            if (m_operationCheckboxStyle == null)
            {
                m_operationCheckboxStyle            = new GUIStyle(GUI.skin.toggle);
                m_operationCheckboxStyle.fixedWidth = 15;
                m_operationCheckboxStyle.margin     = new RectOffset(5, 0, 0, 0);
                m_operationCheckboxStyle.padding    = new RectOffset(0, 0, 0, 5);
            }

            if (m_operationFoldOutStyle == null)
            {
                m_operationFoldOutStyle        = new GUIStyle(EditorStyles.foldout);
                m_operationFoldOutStyle.margin = new RectOffset(0, 0, 0, 0);
            }

            //m_scrollPosition = GUILayout.BeginScrollView(m_scrollPosition, false, false);

            m_editorUtils.Panel("Summary", DrawSummary, true);

            m_editorUtils.Panel("Operations", DrawOperations, true);


            //End scroll
            //GUILayout.EndScrollView();

            #region OLD CODE

            ////Set up the box style
            //if (m_boxStyle == null)
            //{
            //    m_boxStyle = new GUIStyle(GUI.skin.box);
            //    m_boxStyle.normal.textColor = GUI.skin.label.normal.textColor;
            //    m_boxStyle.fontStyle = FontStyle.Bold;
            //    m_boxStyle.alignment = TextAnchor.UpperLeft;
            //}

            ////Setup the wrap style
            //if (m_wrapStyle == null)
            //{
            //    m_wrapStyle = new GUIStyle(GUI.skin.label);
            //    m_wrapStyle.wordWrap = true;
            //}

            ////Set up the description wrap style
            //if (m_descWrapStyle == null)
            //{
            //    m_descWrapStyle = new GUIStyle(GUI.skin.textArea);
            //    m_descWrapStyle.wordWrap = true;
            //}

            ////Scroll

            ////Create a nice text intro
            //GUILayout.BeginVertical("Gaia Session Manager", m_boxStyle);
            //GUILayout.Space(20);
            //EditorGUILayout.LabelField("Track and control session creation and playback.", m_wrapStyle);
            //GUILayout.Space(4);
            //EditorGUILayout.BeginHorizontal();
            //m_manager.m_session = (GaiaSession)EditorGUILayout.ObjectField(GetLabel("Session"), m_manager.m_session, typeof(GaiaSession), false);

            //if (GUILayout.Button(GetLabel("New"), GUILayout.Width(45)))
            //{
            //    m_manager.CreateSession();
            //}
            //EditorGUILayout.EndHorizontal();
            //GUILayout.EndVertical();

            //if (m_manager.m_session == null)
            //{
            //    GUILayout.EndScrollView();
            //    return;
            //}

            ////Track changes
            ////EditorGUI.BeginChangeCheck();

            ////Make some space
            //GUILayout.Space(4);

            ////Wrap it up in a box

            ////Display the basic details
            //EditorGUILayout.LabelField("Name");
            //if (m_manager.IsLocked())
            //{
            //    GUI.enabled = false;
            //}
            //string name = EditorGUILayout.TextArea(m_manager.m_session.m_name, m_descWrapStyle, GUILayout.MinHeight(15));
            //GUI.enabled = true;

            //EditorGUILayout.LabelField("Description");
            //if (m_manager.IsLocked())
            //{
            //    GUI.enabled = false;
            //}
            //string description = EditorGUILayout.TextArea(m_manager.m_session.m_description, m_descWrapStyle, GUILayout.MinHeight(45));

            //Texture2D previewImage = m_manager.GetPreviewImage();
            //if (!m_manager.IsLocked())
            //{
            //    previewImage = (Texture2D)EditorGUILayout.ObjectField(GetLabel("Preview Image"), m_manager.m_session.m_previewImage, typeof(Texture2D), false, GUILayout.MaxHeight(15f));
            //}

            ////Detect change in session and handle changes to preview image
            //float width, height;
            //if (m_manager.m_session.GetInstanceID() != m_lastSessionID)
            //{
            //    m_lastPreviewImgName = "";
            //    m_lastSessionID = m_manager.m_session.GetInstanceID();
            //    if (m_manager.HasPreviewImage())
            //    {
            //        previewImage = m_manager.GetPreviewImage();
            //        m_lastPreviewImgName = previewImage.name;
            //    }
            //}
            //else //Process changes to preview image
            //{
            //    if (previewImage == null)
            //    {
            //        if (m_manager.IsLocked()) //Undo change if locked
            //        {
            //            if (m_manager.HasPreviewImage())
            //            {
            //                previewImage = m_manager.GetPreviewImage();
            //                m_lastPreviewImgName = previewImage.name;
            //                Debug.LogWarning("You can not change the image on a locked session");
            //            }
            //        }
            //        else
            //        {
            //            if (m_manager.HasPreviewImage())
            //            {
            //                m_manager.RemovePreviewImage();
            //                m_lastPreviewImgName = "";
            //            }
            //        }
            //    }
            //    else
            //    {
            //        //Handle changes to preview image
            //        if (previewImage.name != m_lastPreviewImgName)
            //        {
            //            if (m_manager.IsLocked()) //Revert
            //            {
            //                if (m_manager.HasPreviewImage())
            //                {
            //                    previewImage = m_manager.GetPreviewImage();
            //                    m_lastPreviewImgName = previewImage.name;
            //                    Debug.LogWarning("You can not change the image on a locked session");
            //                }
            //                else
            //                {
            //                    previewImage = null;
            //                    m_lastPreviewImgName = "";
            //                }
            //            }
            //            else
            //            {
            //                //Make it readable
            //                Gaia.GaiaUtils.MakeTextureReadable(previewImage);

            //                //Make a new texture from it
            //                Texture2D newTexture = new Texture2D(previewImage.width, previewImage.height, TextureFormat.ARGB32, false);
            //                newTexture.name = m_manager.m_session.m_name;
            //                newTexture.SetPixels(previewImage.GetPixels(0));
            //                newTexture.Apply();

            //                //Resize and scale it
            //                width = 320;
            //                height = previewImage.height * (width / previewImage.width);
            //                Gaia.ScaleTexture.Bilinear(newTexture, (int)width, (int)height);

            //                //Compress it
            //                //newTexture.Compress(true);

            //                //And store its content
            //                m_manager.AddPreviewImage(newTexture);

            //                //Assign back to the texture for the scene
            //                previewImage = newTexture;
            //                m_lastPreviewImgName = previewImage.name;
            //            }
            //        }
            //    }
            //}

            //GUI.enabled = true; //In response to locked above

            //if (previewImage != null)
            //{
            //    //Get aspect ratio and available space and display the image
            //    width = Screen.width - 43f;
            //    height = previewImage.height * (width / previewImage.width);
            //    GUILayout.Label(previewImage, GUILayout.MaxWidth(width), GUILayout.MaxHeight(height));
            //}

            //EditorGUILayout.LabelField("Created", m_manager.m_session.m_dateCreated);
            //EditorGUILayout.LabelField("Dimensions", string.Format("w{0} d{1} h{2}", m_manager.m_session.m_terrainWidth, m_manager.m_session.m_terrainDepth, m_manager.m_session.m_terrainHeight));

            //if (m_manager.IsLocked())
            //{
            //    GUI.enabled = false;
            //}
            //m_manager.m_session.m_seaLevel = EditorGUILayout.Slider(GetLabel("Sea Level"), m_manager.m_session.m_seaLevel, 0f, m_manager.m_session.m_terrainDepth);
            //GUI.enabled = true; //In response to locked above

            //bool locked = EditorGUILayout.Toggle(GetLabel("Locked"), m_manager.m_session.m_isLocked);
            //GUILayout.EndVertical();

            ////Iterate through the operations
            //GUILayout.BeginVertical("Operations:", m_boxStyle);
            //GUILayout.Space(20);

            //if (m_manager.m_session.m_operations.Count == 0)
            //{
            //    GUILayout.Space(5);
            //    GUILayout.Label("No operations yet...");
            //    GUILayout.Space(5);
            //}
            //else
            //{
            //    GaiaOperation op;
            //    EditorGUI.indentLevel++;
            //    for (int opIdx = 0; opIdx < m_manager.m_session.m_operations.Count; opIdx++)
            //    {
            //        op = m_manager.m_session.m_operations[opIdx];

            //        if (op.m_isActive)
            //        {
            //            op.m_isFoldedOut = EditorGUILayout.Foldout(op.m_isFoldedOut, op.m_description, true);
            //        }
            //        else
            //        {
            //            op.m_isFoldedOut = EditorGUILayout.Foldout(op.m_isFoldedOut, op.m_description + " [inactive]", true);
            //        }

            //        if (op.m_isFoldedOut)
            //        {
            //            EditorGUI.indentLevel++;

            //            EditorGUILayout.LabelField("Description", op.m_description, m_wrapStyle);
            //            EditorGUILayout.LabelField("Created", op.m_operationDateTime);
            //            if (m_manager.m_session.m_isLocked)
            //            {
            //                GUI.enabled = false;
            //            }
            //            op.m_isActive = EditorGUILayout.Toggle(GetLabel("Active"), op.m_isActive);
            //            GUI.enabled = true;

            //            int dataLength = 0;
            //            for (int idx = 0; idx < op.m_operationDataJson.GetLength(0); idx++)
            //            {
            //                dataLength += op.m_operationDataJson[idx].Length;
            //            }
            //            EditorGUILayout.LabelField("Data", dataLength.ToString() + " bytes");

            //            GUILayout.BeginHorizontal();
            //            GUILayout.FlexibleSpace();
            //            if (m_manager.m_session.m_isLocked)
            //            {
            //                GUI.enabled = false;
            //            }
            //            if (GUILayout.Button(GetLabel("Delete")))
            //            {
            //                if (EditorUtility.DisplayDialog("Delete Operation ?", "Are you sure you want to delete this operation ?", "Yes", "No"))
            //                {
            //                    m_manager.RemoveOperation(opIdx);
            //                }
            //            }
            //            GUI.enabled = true;
            //            if (GUILayout.Button(GetLabel("Apply")))
            //            {
            //                //m_manager.Apply(opIdx);
            //            }
            //            if (GUILayout.Button(GetLabel("Play")))
            //            {
            //                m_manager.PlayOperation(opIdx);
            //            }
            //            GUILayout.EndHorizontal();

            //            EditorGUI.indentLevel--;
            //        }
            //        //EditorGUILayout.Space();
            //    }
            //    EditorGUI.indentLevel--;
            //}
            //GUILayout.EndVertical();

            ////Create a nice text intro
            //if (!m_manager.m_session.m_isLocked)
            //{
            //    GUILayout.BeginVertical(m_boxStyle);
            //    m_manager.m_genShowRandomGenerator = EditorGUILayout.BeginToggleGroup(GetLabel(" Random Terrain Generator"), m_manager.m_genShowRandomGenerator);
            //    if (m_manager.m_genShowRandomGenerator)
            //    {
            //        m_manager.m_useRandomSeed = EditorGUILayout.Toggle("Use Random Seed", m_manager.m_useRandomSeed);
            //        if (!m_manager.m_useRandomSeed)
            //        {
            //            m_manager.m_randomSeed = EditorGUILayout.IntField(GetLabel("Random Seed"), m_manager.m_randomSeed);
            //        }
            //        m_manager.m_genGridSize = EditorGUILayout.IntSlider(GetLabel("Stamp Grid"), m_manager.m_genGridSize, 1, 5);
            //        if (m_manager.m_genGridSize == 1)
            //        {
            //            m_manager.m_genNumStampsToGenerate = 1;
            //        }
            //        else
            //        {
            //            m_manager.m_genNumStampsToGenerate = (m_manager.m_genGridSize * m_manager.m_genGridSize) + 1;
            //        }
            //        EditorGUILayout.LabelField(new GUIContent("Stamps Generated"), new GUIContent(m_manager.m_genNumStampsToGenerate.ToString()));
            //        //m_manager.m_genNumStampsToGenerate = EditorGUILayout.IntSlider(GetLabel("Stamps"), m_manager.m_genNumStampsToGenerate, 1, 26);
            //        m_manager.m_genScaleWidth = EditorGUILayout.Slider(GetLabel("Width Scale"), m_manager.m_genScaleWidth, 0.5f, 100f);
            //        m_manager.m_genScaleHeight = EditorGUILayout.Slider(GetLabel("Height Scale"), m_manager.m_genScaleHeight, 0.5f, 100f);
            //        m_manager.m_genBorderStyle = (Gaia.GaiaConstants.GeneratorBorderStyle)EditorGUILayout.EnumPopup(GetLabel("Border Style"), m_manager.m_genBorderStyle);
            //        m_manager.m_genChanceOfHills = EditorGUILayout.Slider(GetLabel("Hill Chance"), m_manager.m_genChanceOfHills, 0f, 1f);
            //        m_manager.m_genChanceOfIslands = EditorGUILayout.Slider(GetLabel("Island Chance"), m_manager.m_genChanceOfIslands, 0f, 1f);
            //        m_manager.m_genChanceOfLakes = EditorGUILayout.Slider(GetLabel("Lake Chance"), m_manager.m_genChanceOfLakes, 0f, 1f);
            //        m_manager.m_genChanceOfMesas = EditorGUILayout.Slider(GetLabel("Mesa Chance"), m_manager.m_genChanceOfMesas, 0f, 1f);
            //        m_manager.m_genChanceOfMountains = EditorGUILayout.Slider(GetLabel("Mountain Chance"), m_manager.m_genChanceOfMountains, 0f, 1f);
            //        m_manager.m_genChanceOfPlains = EditorGUILayout.Slider(GetLabel("Plains Chance"), m_manager.m_genChanceOfPlains, 0f, 1f);
            //        m_manager.m_genChanceOfRivers = EditorGUILayout.Slider(GetLabel("River Chance"), m_manager.m_genChanceOfRivers, 0f, 1f);
            //        m_manager.m_genChanceOfValleys = EditorGUILayout.Slider(GetLabel("Valley Chance"), m_manager.m_genChanceOfValleys, 0f, 1f);
            //        m_manager.m_genChanceOfVillages = EditorGUILayout.Slider(GetLabel("Village Chance"), m_manager.m_genChanceOfVillages, 0f, 1f);
            //        m_manager.m_genChanceOfWaterfalls = EditorGUILayout.Slider(GetLabel("Waterfall Chance"), m_manager.m_genChanceOfWaterfalls, 0f, 1f);

            //        GUILayout.BeginHorizontal();
            //        if (GUILayout.Button(GetLabel("Reset Session")))
            //        {
            //            if (EditorUtility.DisplayDialog("Reset Session ?", "Are you sure you want to reset your session - this can not be undone ?", "Yes", "No"))
            //            {
            //                m_manager.ResetSession();
            //            }
            //        }
            //        if (GUILayout.Button(GetLabel("Add Stamps")))
            //        {
            //            m_manager.RandomiseStamps();
            //        }
            //        GUILayout.EndHorizontal();
            //    }
            //    EditorGUILayout.EndToggleGroup();
            //    GUILayout.EndVertical();
            //}

            ////Create a nice text intro
            //GUILayout.BeginVertical(m_boxStyle);
            //m_manager.m_genShowTerrainHelper = EditorGUILayout.BeginToggleGroup(GetLabel(" Terrain Helper"), m_manager.m_genShowTerrainHelper);
            //if (m_manager.m_genShowTerrainHelper)
            //{
            //    GUILayout.BeginHorizontal();
            //    if (GUILayout.Button(GetLabel("Flatten Terrain")))
            //    {
            //        if (EditorUtility.DisplayDialog("Flatten Terrain?", "Are you sure you want to flatten your terrain - this can not be undone ?", "Yes", "No"))
            //        {
            //            GaiaWorldManager wm = new GaiaWorldManager(Terrain.activeTerrains);
            //            wm.FlattenWorld();
            //        }
            //    }
            //    if (GUILayout.Button(GetLabel("Smooth Terrain")))
            //    {
            //        if (EditorUtility.DisplayDialog("Smooth Terrain?", "Are you sure you want to smooth your terrain - this can not be undone ?", "Yes", "No"))
            //        {
            //            GaiaWorldManager wm = new GaiaWorldManager(Terrain.activeTerrains);
            //            wm.SmoothWorld();
            //        }
            //    }
            //    GUILayout.EndHorizontal();

            //    GUILayout.BeginHorizontal();
            //    if (GUILayout.Button(GetLabel("Clear Trees")))
            //    {
            //        if (EditorUtility.DisplayDialog("Clear Trees?", "Are you sure you want to clear your trees - this can not be undone ?", "Yes", "No"))
            //        {
            //            TerrainHelper.ClearTrees(ClearSpawnFor.AllTerrains,ClearSpawnFrom.AnySource);
            //        }
            //    }
            //    if (GUILayout.Button(GetLabel("Clear Details")))
            //    {
            //        if (EditorUtility.DisplayDialog("Clear Details?", "Are you sure you want to clear your details / grass - this can not be undone ?", "Yes", "No"))
            //        {
            //            TerrainHelper.ClearDetails(ClearSpawnFor.AllTerrains,ClearSpawnFrom.AnySource);
            //        }
            //    }
            //    GUILayout.EndHorizontal();
            //}
            //EditorGUILayout.EndToggleGroup();
            //GUILayout.EndVertical();



            //GUILayout.BeginVertical("Session Controller", m_boxStyle);
            //GUILayout.Space(20);
            //GUILayout.BeginHorizontal();
            //bool focusSceneView = EditorGUILayout.Toggle(GetLabel("Focus Scene View"), m_manager.m_focusSceneView);
            //GUILayout.EndHorizontal();
            //GUILayout.Space(5);
            //GUILayout.BeginHorizontal();
            //if (m_manager.m_updateSessionCoroutine == null && m_manager.m_updateOperationCoroutine == null)
            //{



            //    if (GUILayout.Button(GetLabel("Play Session")))
            //    {
            //        if (EditorUtility.DisplayDialog("Playback Session ?", "Are you sure you want to playback your session - this can not be undone ?", "Yes", "No"))
            //        {
            //            m_manager.PlaySession();
            //        }
            //    }
            //    if (GUILayout.Button(GetLabel("Export Resources")))
            //    {
            //        //m_manager.ExportSessionResources();
            //    }
            //}
            //else
            //{
            //    if (GUILayout.Button(GetLabel("Cancel")))
            //    {
            //        m_manager.CancelPlayback();
            //    }
            //}

            //GUILayout.EndHorizontal();
            //GUILayout.Space(5);


            ////Check for changes, make undo record, make changes and let editor know we are dirty
            //if (EditorGUI.EndChangeCheck())
            //{
            //    Undo.RecordObject(m_manager, "Made changes");
            //    m_manager.m_session.m_name = name;
            //    m_manager.m_session.m_description = description;
            //    m_manager.m_session.m_isLocked = locked;
            //    m_manager.m_session.m_previewImage = previewImage;
            //    m_manager.m_focusSceneView = focusSceneView;
            //    EditorUtility.SetDirty(m_manager.m_session);
            //    EditorUtility.SetDirty(m_manager);
            //}

            ////Debug.Log(m_manager.m_lastUpdateDateTime);

            ////Draw the various spawner progress bars
            //if (m_manager.m_currentStamper != null)
            //{
            //    if (m_manager.m_currentStamper.IsStamping())
            //    {
            //        ProgressBar(string.Format("{0}:{1} ({2:0.0}%)", m_manager.m_currentStamper.gameObject.name, m_manager.m_currentStamper.m_stampImage.name, m_manager.m_currentStamper.m_stampProgress * 100f), m_manager.m_currentStamper.m_stampProgress);
            //    }
            //}
            //if (m_manager.m_currentSpawner != null)
            //{
            //    if (m_manager.m_currentSpawner.IsSpawning())
            //    {
            //        ProgressBar(string.Format("{0} ({1:0.0}%)", m_manager.m_currentSpawner.gameObject.name, m_manager.m_currentSpawner.m_spawnProgress * 100f), m_manager.m_currentSpawner.m_spawnProgress);
            //    }
            //}

            //GUILayout.EndVertical();


            //GUILayout.EndVertical();

            #endregion
        }
예제 #18
0
 public override void OnInspectorGUI()
 {
     m_editorUtils.Initialize(); // Do not remove this!
     m_editorUtils.Panel("UserFiles", DrawUserFiles, true);
 }
예제 #19
0
 void OnGUI()
 {
     m_editorUtils.Initialize();
     m_editorUtils.Panel("SelectStampPanel", SelectStampPanel, true);
 }
예제 #20
0
        public override void OnInspectorGUI()
        {
            //Initialization
            m_editorUtils.Initialize(); // Do not remove this!

            //Monitor for changes
            EditorGUI.BeginChangeCheck();

            defaultBackground = GUI.backgroundColor;

            if (m_gaiaSettings == null)
            {
                m_gaiaSettings = GaiaUtils.GetGaiaSettings();
            }

            if (m_renderPipeline != m_gaiaSettings.m_pipelineProfile.m_activePipelineInstalled)
            {
                m_renderPipeline = m_gaiaSettings.m_pipelineProfile.m_activePipelineInstalled;
            }

            if (m_profile.m_selectedLightingProfileValuesIndex > m_profile.m_lightingProfiles.Count - 1)
            {
                m_profile.m_selectedLightingProfileValuesIndex = 0;
            }

            EditorGUILayout.LabelField("Profile Version: " + m_version);
            if (enableEditMode)
            {
                m_profile.m_editSettings = EditorGUILayout.ToggleLeft("Use Procedural Worlds Editor Settings", m_profile.m_editSettings);
            }
            else
            {
                m_profile.m_editSettings = false;
            }

            if (m_profile.m_editSettings)
            {
                m_editorUtils.Panel("UpdateSettings", RealtimeUpdateEnabled);
                m_editorUtils.Panel("GlobalSettings", GlobalSettingsEnabled);
                m_editorUtils.Panel("LightingProfileSettings", LightingProfileSettingsEnabled);

                DrawDefaultInspector();
            }

            //Check for changes, make undo record, make changes and let editor know we are dirty
            if (EditorGUI.EndChangeCheck())
            {
                Undo.RecordObject(m_profile, "Made changes");
                EditorUtility.SetDirty(m_profile);

                if (m_profile.m_updateInRealtime)
                {
                    if (m_profile.m_selectedLightingProfileValuesIndex != -99)
                    {
                        GaiaUtils.GetRuntimeSceneObject();

                        if (GaiaGlobal.Instance != null)
                        {
                            //GaiaLighting.GetProfile(m_profile, m_gaiaSettings.m_pipelineProfile, m_gaiaSettings.m_pipelineProfile.m_activePipelineInstalled);
                        }
                    }
                    EditorUtility.SetDirty(m_profile);
                }
            }
        }