using UnityEngine; namespace Ubisoft { internal class HtPlayerPrefsMonoBehaviour : MonoBehaviour { private HtPlayerPrefsService Service { get; set; } internal void Init(HtPlayerPrefsService service) { Service = service; } #pragma warning disable IDE0051 // Remove unused private members private void OnDestroy() #pragma warning restore IDE0051 // Remove unused private members { Service = null; } // Use LateUpdate to make sure that all changes made on any Update() will be saved #pragma warning disable IDE0051 // Remove unused private members void LateUpdate() #pragma warning restore IDE0051 // Remove unused private members { Service?.Update(); } // Don't forget to store preferences on application pause // In general its always good to store events every now and then #pragma warning disable IDE0051 // Remove unused private members private void OnApplicationPause(bool pause) #pragma warning restore IDE0051 // Remove unused private members { if (pause) { Service?.SaveAllPlayerPrefs(); } } // Don't forget to store preferences on application quit #pragma warning disable IDE0051 // Remove unused private members private void OnApplicationQuit() #pragma warning restore IDE0051 // Remove unused private members { Service?.SaveAllPlayerPrefs(); } } }