chip-game/Assets/Scripts/VisibilityBySettings.cs
2026-01-12 09:36:17 +03:00

38 lines
1.0 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class VisibilityBySettings : MonoBehaviour
{
[SerializeField] string settingId;
[SerializeField] bool SetEnabled;
[SerializeField] List<Graphic> 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;
}
}
}