예제 #1
0
    public override void SaveData <T>(string name, object data)
    {
        var jsonStr = JsonUtility.ToJson((T)data);

        if (!games.ContainsKey(name))
        {
            games.Add(name, new Game());
        }

        Game game = games[name];

        GPSWrapper.OpenSavedGame(name, (status, gameData) =>
        {
            if (status == SavedGameRequestStatus.Success)
            {
                game.gameData = gameData;
                game.type     = typeof(T);
                GPSWrapper.SaveGame(
                    game.gameData,
                    Encoding.ASCII.GetBytes(jsonStr),
                    game.gameData.TotalTimePlayed + (DateTime.Now - game.gameData.LastModifiedTimestamp),
                    OnSavedGameWritten,
                    name//описание сохранения
                    );
            }
            else
            {
                CallOnDataSaved(name, false);
            }
        });
    }
예제 #2
0
    public override void LoadData <T>(string name)
    {
        if (!games.ContainsKey(name))
        {
            games.Add(name, new Game());
        }

        Game game = games[name];

        GPSWrapper.OpenSavedGame(name, (status, gameData) =>
        {
            if (status == SavedGameRequestStatus.Success)
            {
                game.gameData = gameData;
                game.type     = typeof(T);
                GPSWrapper.LoadGameData(game.gameData, OnSavedGameDataRead);
            }
            else
            {
                CallOnDataLoaded(name, null, false);
            }
        });
    }