public void LoadGame(int index) { bool validIndex = index >= 0 && index < m_saveGameList.Count; Debug.Assert(validIndex, string.Format("Tried load a game with invalid index {0}", index)); SaveGameRuntimeData saveDataRuntimeData = m_saveGameList[index]; m_UsedSaveGameFilename = saveDataRuntimeData.filepath; SaveGame saveGame = saveDataRuntimeData.saveGame; Session newSession = new Session(saveGame.saveGameSession.SessionParameters, saveGame.saveGameSession.TransmissionWord, saveGame.saveGameSession.CurrentRound); m_activeSession = newSession; }
private List <SaveGameRuntimeData> LoadSaveGamesFromDisk() { string directoryPath = Path.Combine(Application.dataPath, m_saveGamePath); bool directoryExists = Directory.Exists(directoryPath); if (!directoryExists) { return(new List <SaveGameRuntimeData>()); } var saveGameFileList = Directory.GetFiles(directoryPath); // Array containing all save game files var saveGameList = new List <SaveGameRuntimeData>(saveGameFileList.Count()); //< Create list with a capacity equal to the amount of save game files foreach (string fileName in saveGameFileList) { string extension = Path.GetExtension(fileName); if (extension != ".lit") { continue; } string fileContent = File.ReadAllText(fileName); SaveGame saveGame = JsonUtility.FromJson <SaveGame>(fileContent); // Check if save game was successfully loaded Debug.Assert(saveGame != null, string.Format("Savegame could not be loaded from file {0}", fileName)); if (saveGame == null) { continue; } // Add loaded savegame to the save game list SaveGameRuntimeData saveGameRuntimeData = new SaveGameRuntimeData(); saveGameRuntimeData.filepath = fileName; saveGameRuntimeData.saveGame = saveGame; saveGameList.Add(saveGameRuntimeData); } // Return the list of save games return(saveGameList); }