Esempio n. 1
0
        public void Should_UpdateGame()
        {
            // arrange
            var gameInfo = new SavedGameInfo
            {
                Id        = "g123",
                Comment   = "KappaPride",
                Fen       = "8/8/8/k",
                LastSaved = DateTime.Now
            };
            var oldSavedDate = gameInfo.LastSaved;
            var user         = User.GetUser("user1");

            user.SaveGame(gameInfo);

            gameInfo.LastSaved = DateTime.Now.AddDays(35);

            // act
            user.SaveGame(gameInfo);
            user.ForceReloadSavedGames();
            var updatedGame = user.SavedGames.First(g => g.Id == gameInfo.Id);

            // assert
            Assert.DoesNotContain(user.SavedGames,
                                  p => p.LastSaved.Value.ToShortDateString() == oldSavedDate.Value.ToShortDateString() &&
                                  p.LastSaved.Value.ToShortTimeString() == oldSavedDate.Value.ToShortTimeString()
                                  );
            Assert.Equal(gameInfo.Id, updatedGame.Id);
            Assert.Equal(gameInfo.Fen, updatedGame.Fen);
            Assert.Equal(gameInfo.Comment, updatedGame.Comment);
            Assert.Equal(gameInfo.LastSaved.Value.ToShortTimeString(), updatedGame.LastSaved.Value.ToShortTimeString());
            Assert.Equal(gameInfo.LastSaved.Value.ToShortDateString(), updatedGame.LastSaved.Value.ToShortDateString());
        }
 //Returns saved game info
 //Initialises it to default values if no info found
 //Should only be called after trying to load saved game
 public SavedGameInfo getInfo()
 {
     //If no info has been loaded
     if (info == null)
     {
         //If saved file exists then load save file
         if (File.Exists(Application.persistentDataPath + "/" + userID + "Info.dat"))
         {
             BinaryFormatter bf   = new BinaryFormatter();
             FileStream      file = File.Open(Application.persistentDataPath + "/" + userID + "Info.dat", FileMode.Open);
             info = (SavedGameInfo)bf.Deserialize(file);
             file.Close();
         }//Otherwise create new save file with empty save points
         else
         {
             info = new SavedGameInfo();
             info.singlePlayerScores = new int[SavedGameInfo.AMOUNTOFLEVELS];
             info.multiPlayerScores  = new int[SavedGameInfo.AMOUNTOFLEVELS];
             for (int i = 0; i < SavedGameInfo.AMOUNTOFLEVELS; i++)
             {
                 info.singlePlayerScores[i] = 0;
                 info.multiPlayerScores[i]  = 0;
             }
             this.save();
         }
     }
     return(info);
 }
Esempio n. 3
0
        public void Should_AddGame()
        {
            // arrange
            var gameInfo = new SavedGameInfo
            {
                Id        = "g66",
                Comment   = "EleGiggle",
                Fen       = "r/r12/p",
                LastSaved = DateTime.Now
            };
            var user = User.GetUser("user1");

            if (user.SavedGames.Any(g => g.Id == "g66"))
            {
                user.DeleteGame(gameInfo);
            }

            // act
            user.SaveGame(gameInfo);
            user.ForceReloadSavedGames();
            var savedGame = user.SavedGames.First(p => p.Id == "g66");

            // assert
            Assert.Equal(savedGame.Id, gameInfo.Id);
            Assert.Equal(savedGame.Fen, gameInfo.Fen);
            Assert.Equal(savedGame.Comment, gameInfo.Comment);
            Assert.Equal(savedGame.LastSaved.Value.ToShortDateString(), gameInfo.LastSaved.Value.ToShortDateString());
            Assert.Equal(savedGame.LastSaved.Value.ToShortTimeString(), gameInfo.LastSaved.Value.ToShortTimeString());
        }
Esempio n. 4
0
        private void addSavedGame(SavedGameInfo gameData)
        {
            var itemView = new SavedGameItemView();

            itemView.Data = gameData;

            gameList.Controls.Add(itemView);
        }
Esempio n. 5
0
        public void Load(SavedGameInfo savedGameData, IEnumerable <TracableStream> staticDataSources)
        {
            IkonComposite saveRawData;

            using (var parser = new IkonParser(savedGameData.FileInfo.OpenText()))
                saveRawData = parser.ParseAll().Dequeue(MainGame.SaveGameTag).To <IkonComposite>();

            this.gameController.LoadGame(GameBuilder.LoadGame(saveRawData, staticDataSources, GameController.GetStateManager()));
        }
 /// <summary>
 /// Starts new game with default settings.
 /// </summary>
 public void StartNewGame()
 {
     CurrentSavedGameInfo = new SavedGameInfo()
     {
         GameName          = "TestGame01",
         TimeLoaded        = System.DateTime.UtcNow,
         VersionOnCreation = Application.version,
     };
     GameAssetDirectory = new Dictionary <int, GameAssetData> ();
     TileMapManager.Instance.InitializeTileMap(MapGeneratorComponent.Instance.GenerateMap());
 }
Esempio n. 7
0
        public void Load(SavedGameInfo savedGameData, IEnumerable <NamedStream> staticDataSources)
        {
            if (savedGameData == null)
            {
                throw new ArgumentNullException(nameof(savedGameData));
            }

            IkonComposite saveRawData;

            using (var parser = new IkonParser(savedGameData.FileInfo.OpenText()))
                saveRawData = parser.ParseAll().Dequeue(MainGame.SaveGameTag).To <IkonComposite>();

            this.gameController.LoadGame(GameBuilder.LoadGame(saveRawData, staticDataSources, GameController.GetStateManager()));
        }
 /// <summary>
 /// Starts game from loaded GameData.
 /// </summary>
 /// <param name="gameToLoad"></param>
 private void StartLoadedGame(GameData gameToLoad)
 {
     Debug.Log($"Started loading at {DateTime.UtcNow}");
     CurrentSavedGameInfo = gameToLoad.GameInfo;
     TileMapManager.Instance.InitializeTileMap(gameToLoad.MapData);
     GameAssetDirectory = new Dictionary <int, GameAssetData>();
     foreach (GameAssetData data in gameToLoad.AssetsToSave)
     {
         AssetManager.LoadSavedAsset(data);
         AddAssetToDictionary(data);
     }
     Debug.Log($"Done loading at {DateTime.UtcNow}");
     DictCount();
 }
Esempio n. 9
0
        public void OverwriteSave(SavedGameInfo savedGameData, string title, IkonBaseObject previewData)
        {
            if (savedGameData == null)
            {
                throw new ArgumentNullException(nameof(savedGameData));
            }
            if (title == null)
            {
                throw new ArgumentNullException(nameof(title));
            }
            if (previewData == null)
            {
                throw new ArgumentNullException(nameof(previewData));
            }

            save(savedGameData.FileInfo, title, previewData);
        }
Esempio n. 10
0
        public void Should_DeleteGame()
        {
            // arrange
            var gameInfo = new SavedGameInfo
            {
                Id        = "g908",
                Comment   = "KappaPride",
                Fen       = "8/8/8/k",
                LastSaved = DateTime.Now
            };
            var user = User.GetUser("user1");

            user.SaveGame(gameInfo);

            // act
            user.DeleteGame(gameInfo);
            user.ForceReloadSavedGames();

            // assert
            Assert.DoesNotContain(user.SavedGames, g => g.Id == gameInfo.Id);
        }
Esempio n. 11
0
 public void OverwriteSave(SavedGameInfo savedGameData, string title, IkonBaseObject previewData)
 {
     save(savedGameData.FileInfo, title, previewData);
 }
Esempio n. 12
0
 public void Load(SavedGameInfo savedGameData, IEnumerable <TracableStream> staticDataSources)
 {
     this.gameController.LoadGame(GameBuilder.LoadGame(savedGameData.RawData, staticDataSources));
 }
Esempio n. 13
0
 public void OverwriteSave(SavedGameInfo savedGameData, string title)
 {
     save(savedGameData.FileInfo, title);
 }
 //Updates the saved game information
 public void updateInfo(SavedGameInfo newInfo)
 {
     info = newInfo;
 }