using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class VisibilityBySettings : MonoBehaviour { [SerializeField] string settingId; [SerializeField] bool SetEnabled; [SerializeField] List Graphics; private void OnEnable() { pullSettings(); SettingsManager.OnSettingsChanged.AddListener(pullSettings); } private void OnDisable() => SettingsManager.OnSettingsChanged.RemoveListener(pullSettings); void pullSettings() { bool settingValue = SettingsManager.GetBool(settingId, false); //когда настройка и состояние совпадает. bool visibility = settingValue == SetEnabled; SetVisibility(visibility); } private void SetVisibility(bool value) { float alpha = value ? 1 : 0; foreach (Graphic g in Graphics) { Color color = g.color; color.a = alpha; g.color = color; } } }