public void OnGUI()
        {
            // scroll view of settings
            EditorGUIUtility.hierarchyMode = true;
            TerrainToolboxUtilities.DrawSeperatorLine();
            EditorGUI.BeginChangeCheck();
            EditorGUILayout.BeginHorizontal();
            EditorGUILayout.LabelField(Styles.VisualizationSettings, EditorStyles.boldLabel);
            m_selectedMode = (VISUALIZERMODE)EditorGUILayout.EnumPopup(m_selectedMode);
            EditorGUILayout.EndHorizontal();
            switch (m_selectedMode)
            {
            case VISUALIZERMODE.AltitudeHeatmap:
                ShowHeatmapGUI();
                break;

            default:
                break;
            }

            if (m_Settings.ModeWarning)
            {
                EditorGUILayout.HelpBox(Styles.ModeWarningSettings, MessageType.Warning);
            }

            if (EditorGUI.EndChangeCheck())
            {
                EnableVisualization();
            }

            ShowPresetGUI();
        }
        public void EnableVisualization()
        {
            if (GameObject.FindObjectOfType <Terrain>() == null)
            {
                m_selectedMode         = VISUALIZERMODE.None;
                m_Settings.ModeWarning = true;
                return;
            }

            if (m_Terrains == null || GameObject.FindObjectsOfType <Terrain>().Length != m_Terrains.Count || m_Terrains[0] == null)
            {
                m_Terrains.Clear();
                m_Terrains.AddRange(ToolboxHelper.GetAllTerrainsInScene());
                m_Settings.TerrainMaxHeight = m_Terrains[0].terrainData.size.y;
            }

            switch (m_selectedMode)
            {
            case VISUALIZERMODE.AltitudeHeatmap:
                UpdateHeatmapSettings();
                break;

            default:
                RevertMaterial();
                break;
            }

            m_Settings.ModeWarning = false;
            m_previousMode         = m_selectedMode;
        }
Example #3
0
 void Reset()
 {
     m_selectedMode          = VISUALIZERMODE.None;
     m_VisualizationMaterial = null;
     m_Terrains.Clear();
     m_TerrainMaterials.Clear();
 }
        public void OnGUI()
        {
            //Scroll view of settings
            EditorGUIUtility.hierarchyMode = true;
            TerrainToolboxUtilities.DrawSeperatorLine();

            EditorGUILayout.BeginHorizontal();
            EditorGUI.BeginChangeCheck();
            EditorGUILayout.LabelField(Styles.VisualizationSettings, EditorStyles.boldLabel);
            m_selectedMode = (VISUALIZERMODE)EditorGUILayout.EnumPopup(m_selectedMode);
            bool hadVisualModeChange = false;

            if (EditorGUI.EndChangeCheck())
            {
                ToggleVisualization();
                hadVisualModeChange = true;
            }
            EditorGUILayout.EndHorizontal();

            if (m_selectedMode == VISUALIZERMODE.AltitudeHeatmap)
            {
                ShowHeatmapGUI(hadVisualModeChange);
            }

            if (m_ModeWarning)
            {
                EditorGUILayout.HelpBox(Styles.ModeWarningSettings, MessageType.Warning);
            }

            ShowPresetGUI();
        }
 void OnSceneOpened(Scene scene, OpenSceneMode open)
 {
     if (m_selectedMode != VISUALIZERMODE.None)
     {
         m_selectedMode          = VISUALIZERMODE.None;
         m_VisualizationMaterial = null;
     }
 }
        public void SaveSettings()
        {
            if (m_SelectedPreset != null)
            {
                m_Settings.PresetPath = AssetDatabase.GetAssetPath(m_SelectedPreset);
            }
            else
            {
                m_Settings.PresetPath = string.Empty;
            }

            string filePath     = ToolboxHelper.GetPrefFilePath(ToolboxHelper.ToolboxPrefsSettings);
            string settingsData = JsonUtility.ToJson(m_Settings);

            File.WriteAllText(filePath, settingsData);
            RevertMaterial();
            m_selectedMode = VISUALIZERMODE.None;
            SceneView.RepaintAll();
        }
        public void ToggleVisulization()
        {
            switch (m_selectedMode)
            {
            case VISUALIZERMODE.AltitudeHeatmap:
                UpdateHeatmapSettings();
                break;

            case VISUALIZERMODE.None:
                RevertMaterial();
                break;

            default:
                break;
            }

            m_ModeWarning  = false;
            m_previousMode = m_selectedMode;
        }