//*************************************************************************** // Function Name: LoadGameFromFile // Purpose: Loads a game from the saved game file. // Paramaters: boardObject - The object which has the board script attached // Returns: None //*************************************************************************** public void LoadGameFromFile(GameObject boardObject) { char [] delimiters = { ' ', ',' }; string currentLine; string [] splitGameType; string [] splitJumpData; Jump loadedJump; Jump.SaveData data; Board board = null; using (StreamReader reader = File.OpenText(Application.persistentDataPath + SAVE_DIRECTORY + SAVE_LOCATION)) { currentLine = reader.ReadLine(); splitGameType = currentLine.Split(delimiters, System.StringSplitOptions.RemoveEmptyEntries); if (string.Equals(splitGameType [0], TRIANGLE)) { Board.mBoardSize = int.Parse(splitGameType [1]); if (Board.mBoardSize == 4) { TriangleBoard.mVacantPositionX = 0; TriangleBoard.mVacantPositionY = 1; } else { TriangleBoard.mVacantPositionX = TriangleBoard.mVacantPositionY = 0; } board = boardObject.GetComponent <TriangleBoard> (); board.SetUpBoard(); boardObject.GetComponent <HexagonBoard> ().enabled = false; mLoadedGame = new Jump [int.Parse(splitGameType [2])]; } else if (string.Equals(splitGameType [0], CUSTOM)) { // Load the custom board! } currentLine = reader.ReadLine(); mCurrentJump = 0; while (currentLine != null && !currentLine.Equals("")) { splitJumpData = currentLine.Split(delimiters, System.StringSplitOptions.RemoveEmptyEntries); data = new Jump.SaveData(); data.mStartX = int.Parse(splitJumpData [0]); data.mStartY = int.Parse(splitJumpData [1]); data.mJumpedX = int.Parse(splitJumpData [2]); data.mJumpedY = int.Parse(splitJumpData [3]); data.mEndX = int.Parse(splitJumpData [4]); data.mEndY = int.Parse(splitJumpData [5]); data.mTimeLeft = int.Parse(splitJumpData [6]); loadedJump = Jump.CreateFromData(board, data); mLoadedGame [mCurrentJump++] = loadedJump; currentLine = reader.ReadLine(); } mCurrentJump = 0; } }