void LoadGameData() { if (!File.Exists(Application.persistentDataPath + "/save.bin")) { return; } FileStream fs = new FileStream(Application.persistentDataPath + "/save.bin", FileMode.Open); try { BinaryFormatter formatter = new BinaryFormatter(); // Deserialize the hashtable from the file and // assign the reference to the local variable. GameSaveDataBase basesave = (GameSaveDataBase)formatter.Deserialize(fs); Debug.Log("SaveLoad ver:" + basesave.version); SaveDataConvert(ref basesave); } catch (System.Runtime.Serialization.SerializationException e) { } fs.Close(); }
public static void SaveDataConvert0to1(ref GameSaveDataBase basesave) { GameSaveDataV0 sb = (GameSaveDataV0)basesave; GameSaveDataV1 sn = new GameSaveDataV1(); sn.version = 1; sn.gold = sb.gold; sn.glory = sb.glory; sn.playtime = 0; basesave = sn; }
public static void SaveDataConvert1to2(ref GameSaveDataBase basesave) { GameSaveDataV1 sb = (GameSaveDataV1)basesave; GameSaveDataV2 sn = new GameSaveDataV2(); sn.version = 2; sn.gold = sb.gold; sn.glory = sb.glory; sn.playtime = sb.playtime; sn.kills = 0; basesave = sn; }
void SaveDataConvert(ref GameSaveDataBase basesave) { if (basesave.version == 0) { GameSaveDataBase.SaveDataConvert0to0(ref basesave); //SaveDataConvert0to1(ref basesave); } // if (basesave.version == 1) // { // SaveDataConvert1to2(ref basesave); // } gameSavedata = (GameSaveDataV0)basesave; }
public static void SaveDataConvert0to0(ref GameSaveDataBase basesave) { GameSaveDataV0 sn = (GameSaveDataV0)basesave; basesave = sn; }