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); }
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()); }
private void addSavedGame(SavedGameInfo gameData) { var itemView = new SavedGameItemView(); itemView.Data = gameData; gameList.Controls.Add(itemView); }
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()); }
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(); }
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); }
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); }
public void OverwriteSave(SavedGameInfo savedGameData, string title, IkonBaseObject previewData) { save(savedGameData.FileInfo, title, previewData); }
public void Load(SavedGameInfo savedGameData, IEnumerable <TracableStream> staticDataSources) { this.gameController.LoadGame(GameBuilder.LoadGame(savedGameData.RawData, staticDataSources)); }
public void OverwriteSave(SavedGameInfo savedGameData, string title) { save(savedGameData.FileInfo, title); }
//Updates the saved game information public void updateInfo(SavedGameInfo newInfo) { info = newInfo; }