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(); } } }