/// <summary> /// Load the given persistable. /// </summary> /// <param name="p">Persistable to laod.</param> public static void Load(Persistable p) { string data = PlayerPrefs.GetString(p.UniqueSaveKey, ""); if (data.Length > 0) { using (StringReader reader = new StringReader(data)){ XmlSerializer serializer = new XmlSerializer(p.SavedObjectType); object savedObject = serializer.Deserialize(reader); p.SaveData = savedObject; p.PostLoadAction(); } } else { p.PostResetAction(); } }
/// <summary> /// Resets the given persistable. /// </summary> /// <param name="p">Persistable to reset.</param> public static void Reset(Persistable p) { PlayerPrefs.DeleteKey(p.UniqueSaveKey); p.PostResetAction(); }