Пример #1
0
    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;
    }
Пример #2
0
    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);
    }