public virtual void Setup() { Parameters = GameParameters.Load(); Dispatcher = EventsDispatcher.Load(); GameData = GameData.Load(); Dispatcher.AddListener(this); Controller = new GameObject("MockFsmController").AddComponent <MockFsmController>(); Controller.Awake(); GameData.Initialize(Controller); }
public static Game LoadReport(string filename, int rollback = 0, SearchParameters searchParameters = null) { using (var stream = new FileStream(filename, FileMode.Open)) { var saveGameFile = SavedGames.ReadFromStream(stream); var gameParameters = GameParameters.Load( player1Controller: PlayerType.Machine, player2Controller: PlayerType.Machine, savedGame: (SavedGame)saveGameFile.Data, rollback: rollback, searchParameters: searchParameters); return(new Game(gameParameters)); } }
public virtual void Setup() { Parameters = GameParameters.Load(); Dispatcher = EventsDispatcher.Load(); GameData = GameData.Load(); Dispatcher.AddListener(this); Controller = new GameObject("MockFsmController").AddComponent <MockFsmController>(); Controller.Awake(); var localPlayerSeat = Parameters.Profiles.localPlayer.seat; var remotePlayerSeat = Parameters.Profiles.remotePlayer.seat; var localPlayer = new Player(0, localPlayerSeat, Parameters, Dispatcher); var remotePlayer = new Player(1, remotePlayerSeat, Parameters, Dispatcher); GameData.CreateGame(Controller, localPlayer, remotePlayer); }
public void Save() { var game = SimulateGame(); var savedGame = game.Save(); var p = GameParameters.Load( player1Controller: PlayerType.Machine, player2Controller: PlayerType.Machine, savedGame: savedGame); var game1 = new Game(p); // 2 games will be equal only if game is in exact same state // load game only loads the game up to the last decision recorded // resume the game until state count is equal game1.Simulate(() => game1.Turn.StateCount < game.Turn.StateCount); // hash depends on card visibility, visibility depends // on who the searching player is. game.Players.Searching = game.Players.Player1; game1.Players.Searching = game1.Players.Player1; Assert.Equal(game.CalculateHash(), game1.CalculateHash()); }
public void LoadGameParameters() => Assert.IsTrue(GameParameters.Load() != null);