public void PrepareSaveFile() { if (SaveFile.LoadInstance().CoreConfig.player == null) { Player player = new Player(); SaveFile.LoadInstance().CoreConfig.player = player; } List <IItemObservable> items; if (SaveFile.LoadInstance().CoreConfig.items == null) { items = new List <IItemObservable>(); } else { items = SaveFile.LoadInstance().CoreConfig.items; } if (SaveFile.LoadInstance().CoreConfig.itemInventory == null) { SaveFile.LoadInstance().CoreConfig.itemInventory = new ItemInventory(); } if (SaveFile.LoadInstance().CoreConfig.TimeWhenQuit == DateTime.MinValue) { SaveFile.LoadInstance().CoreConfig.TimeWhenQuit = DateTime.Now; } try { Debug.Log("Instantiating Game Items"); PrepareMissionFile(); InstantiateGameItems(items); Debug.Log("Game Items Instantiated"); } catch (Exception e) { Debug.Log(e.Message); Debug.Log("SAVE FILE CORRUPTED"); Debug.Log("DELETING SAVE FILE"); DeleteSave(); Debug.Log("RE-INITIATING"); SaveFile.DeleteInstance(); SaveFile.GetInstance(); } }