using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; [RequireComponent(typeof(Toggle))] public class PlayerPrefToggle : MonoBehaviour { private Toggle _toggle; [SerializeField] private PlayerPrefValue _playerPref; [SerializeField] private bool _defaultValue; private void Awake() { _toggle = GetComponent(); _toggle.onValueChanged.AddListener( ( ticked ) => _playerPref.SetInt( ticked ? 1 : 0 ) ); } private void OnEnable() { bool value = _playerPref.HasValue ? _playerPref.GetInt() > 0 : _defaultValue; _toggle.isOn = value; } }