public static GameBoard DeserializeGameboard(string serializedGameBoard) { GameBoardData data = UnityEngine.JsonUtility.FromJson <GameBoardData>(serializedGameBoard); var gameBoard = GetGameBoard(data); return(gameBoard); }
public static GameBoard LoadBoard(string saveName) { var filePath = saveNameToFilePath(saveName); var json = File.ReadAllText(filePath); var gameBoard = GameBoardData.DeserializeGameboard(json); return(gameBoard); }
public static void SaveBoard(GameBoard gameBoard, string saveName) { var json = GameBoardData.SerializeGameBoard(gameBoard); var filePath = saveNameToFilePath(saveName); Directory.CreateDirectory(Path.GetDirectoryName(filePath)); File.WriteAllText(filePath, json); Debug.Log("File written to " + filePath); }
public void InitializeWithReplay(GameMoveHistory replayHistory) { ReplayHistory = replayHistory; GameBoard = GameBoardData.GetGameBoard(replayHistory.GameBoardData); GameBoard.UpdateAvailableMoves(); CurrentStepIndex = 0; notifyPropertiesChangedForMove(); }
public static GameBoardData GetGameBoardData(GameBoard gameBoard) { GameBoardData data = new GameBoardData(); foreach (var cell in gameBoard.HexCells) { data.CellPositions.Add(cell.Position); } data.StartPosition = gameBoard.StartPosition; return(data); }
public void InitializeWithBoard(GameBoard gameBoard, float timeLimitSeconds) { inputManager.DisableInput = false; StartTime = Time.timeSinceLevelLoad; // capture start time TimeLimit = timeLimitSeconds; GameBoard = gameBoard; GameBoard.UpdateAvailableMoves(); MoveHistory.GameBoardData = GameBoardData.GetGameBoardData(gameBoard); MoveHistory.TimeLimit = TimeLimit; }
public void LoadReplay(Text saveButtonText) { string saveName = saveButtonText.text; GameMoveHistory replay = ReplayManager.LoadReplay(saveName); GameBoardSceneParameters.SetParameters(new GameBoardSceneParameters() { GameBoard = GameBoardData.GetGameBoard(replay.GameBoardData), TimeLimit = replay.TimeLimit, ReplayHistory = replay, }); SceneManager.LoadScene("GameBoard"); }
public static GameBoard GetGameBoard(GameBoardData data) { return(GameBoardGenerator.CreateFromRawPositions(data.StartPosition, data.CellPositions)); }