public static T LoadScriptData <T> (string stringData) where T : RememberData { if (SaveSystem.GetSaveMethod() == SaveMethod.XML) { return((T)Serializer.DeserializeObjectXML <T> (stringData)); } else { return((T)Serializer.DeserializeRememberData <T> (stringData)); } }
/** * <summary>De-serializes a RememberData class, either from XML or Binary, depending on the platform.</summary> * <param name = "dataString">The RememberData class, serialized as a string</param> * <returns>The de-serialized RememberData class</return> */ public static T LoadScriptData <T> (string dataString) where T : RememberData { SaveMethod saveMethod = SaveSystem.GetSaveMethod(); if (dataString.StartsWith(saveMethod.ToString())) { dataString = dataString.Remove(0, saveMethod.ToString().ToCharArray().Length); } if (saveMethod == SaveMethod.Binary) { return((T)Serializer.DeserializeRememberData <T> (dataString)); } else { return(Serializer.DeserializeObject <T> (dataString)); } }
public static T LoadScriptData <T> (string stringData) where T : RememberData { if (SaveSystem.GetSaveMethod() == SaveMethod.XML) { // iOS fix: Sending to wrong type causes error, so pre-empt by checking type string typeName = typeof(T).ToString().Replace("AC.", ""); if (stringData.Contains(typeName)) { return((T)Serializer.DeserializeObjectXML <T> (stringData)); } } else { return((T)Serializer.DeserializeRememberData <T> (stringData)); } return(null); }