public SerializedSaveData ConvertFromOldData(savedata oldData) { SerializedSaveData newData = new SerializedSaveData(); newData.objectList = oldData.list1; newData.terrianHeights = oldData.heights; return(newData); }
public void Load(string name) { if (File.Exists(Application.persistentDataPath + Path.DirectorySeparatorChar + "saves" + Path.DirectorySeparatorChar + name + ".dat")) { BinaryFormatter bf = new BinaryFormatter(); FileStream file = File.Open(Application.persistentDataPath + "/saves/" + name + ".dat", FileMode.Open); try { try { data = (SerializedSaveData)bf.Deserialize(file); } catch (InvalidCastException ex) { savedata oldData = null; // If this is an old save file, convert it. oldData = (savedata)bf.Deserialize(file); data = ConvertFromOldData(oldData); isOldFile = true; } } catch (SerializationException exs) { List <string> s = new List <string>(); s.Add("Back to Main Menu"); WindowUI wui = new WindowUI(WindowImage.ERROR, WindowType.OK, s, "Unable to Load World", "It looks like the world could not be loaded. This could be due to a corruption or old version.", false, 22, ExitDefault.NONE); wui.SetBackgroundActive(true); wui.Display(); } CopyLoadData(); file.Close(); }// }
// Use this for initialization void Start() { // call Load (); or Save (); data = new SerializedSaveData(); }