private void Migrate() { var gameSaveVersion = Migration.saveVersion; saveVersion = new PlayerPrefsData <int>("SAVE_VERSION", gameSaveVersion); saveVersion.Save(); if (saveVersion > gameSaveVersion) { throw new UnityException($"Cannot migrate {saveVersion.Value}->{gameSaveVersion}"); } Debug.Log($"STARTING VERSION MIGRATION: {saveVersion.Value}->{gameSaveVersion}"); while (saveVersion.Value < gameSaveVersion) { Migration.Step(saveVersion); saveVersion.Value++; saveVersion.Save(); } Debug.Log($"SAVE VERSION IS NOW CURRENT: {saveVersion.Value}"); Debug.Log("Inventory: Migration successful!"); }
protected override void Setup() { Debug.LogWarning("~~~~~~~~ Inventory.Awake is called"); DontDestroyOnLoad(gameObject); saveVersion = new PlayerPrefsData <int>("saveVersion", 0); disableWait = new PlayerPrefsData <bool>("disableWait", false); firstLaunch = new PlayerPrefsData <bool>("firstLaunch", true); audioStatus = new PlayerPrefsData <AudioState>("audioStatus", AudioState.CreateDefault()); playerState = new PlayerPrefsData <PlayerState>("playerState", PlayerState.CreateDefault()); worldState = new PlayerPrefsData <WorldState>("worldState", WorldState.CreateDefault()); currentCompanion = new PlayerPrefsData <CompanionData.ItemID>("currentCompanion", CompanionData.ItemID.NONE); ftueState = new PlayerPrefsData <FTUEState>("ftueState", FTUEState.CreateDefault()); Migrate(); }