private void OnGUI()
        {
            var tabs = Enum.GetNames(typeof(BuildSettingMenus));

            EditorGUI.BeginChangeCheck();
            _selectedMenu = (BuildSettingMenus)GUILayout.Toolbar(SelectedMenuIndex, tabs);
            var activeWindow = BuildSettingLookup[_selectedMenu];

            if (EditorGUI.EndChangeCheck())
            {
                activeWindow.OnEnabled();
            }

            activeWindow.Draw(_windowConfig);

            if (!Directory.Exists(BuildWindowConsts.ConfigFolderPath))
            {
                Directory.CreateDirectory(BuildWindowConsts.ConfigFolderPath);
            }

            // boolean true is used to format the resulting string for maximum readability. False would format it for minimum size.
            var configJson = JsonUtility.ToJson(_windowConfig, true);

            File.WriteAllText(BuildWindowConsts.BuildWindowConfigPath, configJson);


            foreach (var entry in BuildSettingLookup)
            {
                entry.Value.Size = position.size;
            }
        }
        private void OnGUI()
        {
            var tabs = Enum.GetNames(typeof(BuildSettingMenus));

            _selectedMenu = (BuildSettingMenus)GUILayout.Toolbar(SelectedMenuIndex, tabs);

            var activeWindow = BuildSettingLookup[_selectedMenu];

            activeWindow.Draw(_windowConfig);

            if (!Directory.Exists(BuildWindowConsts.ConfigFolderPath))
            {
                Directory.CreateDirectory(BuildWindowConsts.ConfigFolderPath);
            }

            // boolean true is used to format the resulting string for maximum readability. False would format it for minimum size.
            var configJson = JsonUtility.ToJson(_windowConfig, true);

            File.WriteAllText(BuildWindowConsts.BuildWindowConfigPath, configJson);
        }