29 lines
703 B
C#
29 lines
703 B
C#
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>();
|
|
_toggle.onValueChanged.AddListener( ( ticked ) => _playerPref.SetInt( ticked ? 1 : 0 ) );
|
|
}
|
|
|
|
private void OnEnable()
|
|
{
|
|
bool value = _playerPref.HasValue ? _playerPref.GetInt() > 0 : _defaultValue;
|
|
_toggle.isOn = value;
|
|
}
|
|
}
|