using UnityEditor;
using UnityEngine;
namespace Unity.VisualScripting
{
internal class CoreSettings
{
private readonly PluginConfigurationItemMetadata _aotSafeMode;
private const string Title = "Core Settings";
readonly GUIContent _toggleAOTSafeModeLabel = new GUIContent("AOT Safe Mode");
private bool _setting;
public CoreSettings(BoltCoreConfiguration coreConfig)
{
_aotSafeMode = coreConfig.GetMetadata(nameof(BoltCoreConfiguration.aotSafeMode));
_setting = (bool)_aotSafeMode.value;
}
private void SaveIfNeeded()
{
var settings = (bool)_aotSafeMode.value;
if (_setting != settings)
{
_aotSafeMode.value = _setting;
_aotSafeMode.SaveImmediately();
}
}
public void OnGUI()
{
GUILayout.Space(5f);
GUILayout.Label(Title, EditorStyles.boldLabel);
GUILayout.Space(5f);
_setting = GUILayout.Toggle(_setting, _toggleAOTSafeModeLabel);
SaveIfNeeded();
}
}
}