A game about forced loneliness, made by TACStudios
1using UnityEngine; 2 3namespace Unity.VisualScripting 4{ 5 /// <summary> 6 /// Listens to the OnApplicationQuit on OnApplicationPause 7 /// hooks to trigger the serialization of saved variables into PlayerPrefs. 8 /// </summary> 9 [Singleton(Name = "VisualScripting SavedVariablesSerializer", Automatic = true, Persistent = true)] 10 [AddComponentMenu("")] 11 [DisableAnnotation] 12 [IncludeInSettings(false)] 13 [VisualScriptingHelpURL(typeof(VariablesSaver))] 14 public class VariablesSaver : MonoBehaviour, ISingleton 15 { 16 private void Awake() 17 { 18 Singleton<VariablesSaver>.Awake(this); 19 } 20 21 private void OnDestroy() 22 { 23 Singleton<VariablesSaver>.OnDestroy(this); 24 } 25 26 private void OnApplicationQuit() 27 { 28 SavedVariables.OnExitPlayMode(); 29 ApplicationVariables.OnExitPlayMode(); 30 } 31 32 private void OnApplicationPause(bool isPaused) 33 { 34 if (!isPaused) 35 { 36 return; 37 } 38 39 SavedVariables.OnExitPlayMode(); 40 ApplicationVariables.OnExitPlayMode(); 41 } 42 43 public static VariablesSaver instance => Singleton<VariablesSaver>.instance; 44 45 public static void Instantiate() => Singleton<VariablesSaver>.Instantiate(); 46 } 47}