void ShowGizmoGUI()
        {
            TerrainToolboxUtilities.DrawSeperatorLine();
            bool gizmoToggle = m_Settings.EnableGizmo && ToolboxHelper.GizmoGO != null ? true : false;

            m_Settings.ShowGizmoSettings = TerrainToolGUIHelper.DrawToggleHeaderFoldout(Styles.Gizmo, m_Settings.ShowGizmoSettings, ref gizmoToggle, 0f);

            if (gizmoToggle && !ToolboxHelper.GizmoEnabled)
            {
                ToolboxHelper.ShowGizmo();
                ToolboxHelper.UpdateGizmos(m_Settings.TerrainWidth, m_Settings.TerrainHeight, m_Settings.TerrainLength, m_Settings.StartPosition, m_Settings.GroupID);
            }
            else if (!gizmoToggle && ToolboxHelper.GizmoEnabled)
            {
                ToolboxHelper.HideGizmo();
            }

            if (ToolboxHelper.GizmoEnabled && ToolboxHelper.GizmoGO != null)
            {
                if (GUI.changed)
                {
                    ToolboxHelper.UpdateGizmos(m_Settings.TerrainWidth, m_Settings.TerrainHeight, m_Settings.TerrainLength, m_Settings.StartPosition, m_Settings.GroupID);
                }
                else if (ToolboxHelper.GizmoGO.transform.hasChanged)
                {
                    Transform  gizmoTransform = ToolboxHelper.GizmoGO.transform;
                    Vector3Int gizmoScale     = Vector3Int.RoundToInt(gizmoTransform.localScale);
                    m_Settings.TerrainWidth  = gizmoScale.x;
                    m_Settings.TerrainLength = gizmoScale.z;
                    m_Settings.TerrainHeight = gizmoScale.y;
                    m_Settings.StartPosition = ToolboxHelper.GetGizmoPosition();
                }
            }



            // Update gizmo colors
            Color previousColor = m_Settings.GizmoCubeColor + m_Settings.GizmoWireColor;

            if (m_Settings.ShowGizmoSettings)
            {
                EditorGUI.BeginDisabledGroup(!m_Settings.EnableGizmo);
                EditorGUILayout.Space();
                m_Settings.GizmoCubeColor = EditorGUILayout.ColorField(Styles.CubeColor, m_Settings.GizmoCubeColor);
                m_Settings.GizmoWireColor = EditorGUILayout.ColorField(Styles.CubeWireColor, m_Settings.GizmoWireColor);
                EditorGUI.EndDisabledGroup();
            }
            m_Settings.EnableGizmo = gizmoToggle;

            if (previousColor != m_Settings.GizmoCubeColor + m_Settings.GizmoWireColor)
            {
                UnityEditor.SceneView.RepaintAll();
            }

            ToolboxHelper.SetGizmoColor(m_Settings.GizmoCubeColor, m_Settings.GizmoWireColor);
        }