private void writeHeader(StreamWriter sw, BoardManager.BoardType boardType, int fogSize, BoardManager.BoardPos boardPos) { sw.WriteLine(BOARD_TYPE + boardType.ToString()); sw.WriteLine(FOG_SIZE + fogSize.ToString()); sw.WriteLine(BOARD_TITLE + " "); //use first name found that isn't empty sw.WriteLine(BOARD_POS + boardPos.ToString()); }
public BoardManager.BoardPos getDefaultBoardPos(BoardManager.BoardType bType) { switch (bType) { case BoardManager.BoardType.RELATIONSHIP: return(BoardManager.BoardPos.TOP_LEFT); case BoardManager.BoardType.HEALTH: return(BoardManager.BoardPos.TOP_RIGHT); case BoardManager.BoardType.CASH: return(BoardManager.BoardPos.BOTTOM_LEFT); case BoardManager.BoardType.EDUCATION: return(BoardManager.BoardPos.BOTTOM_RIGHT); } Debug.LogError("WTF are you doing"); return(BoardManager.BoardPos.TOP_LEFT); //cant return null }
//read a bunch of boards private List <Board> readLevelFile(StreamReader sr) { List <Board> levelBoards = new List <Board>(); try { //StreamReader sr = new StreamReader(filename, Encoding.Default); using (sr) { bool boardReadComplete = false; string boardTypeStr = ""; string boardTitleStr = ""; string fogSizeStr = ""; string boardPosStr = ""; string line = sr.ReadLine(); while (line != null) { line = line.Trim(); if (line.StartsWith(COMMENT) || line.Length == 0) { line = sr.ReadLine(); continue; } else if (line.StartsWith(BOARD_TYPE)) { boardTypeStr = line.Replace(BOARD_TYPE, "").Trim().ToUpper(); } else if (line.StartsWith(FOG_SIZE)) { fogSizeStr = line.Replace(FOG_SIZE, "").Trim(); } else if (line.StartsWith(BOARD_TITLE.Trim())) { string nameVal = line.Replace(BOARD_TITLE.Trim(), "").Trim(); if (nameVal != null && nameVal.Length > 0) { boardTitleStr = nameVal; } } else if (line.StartsWith(BOARD_POS)) { boardPosStr = line.Replace(BOARD_POS, "").Trim().ToUpper(); } else if (line.StartsWith(START_BOARD.Trim())) { //Debug.Log("start board"); GameObject newBoardObj = new GameObject(); curBoard = newBoardObj.AddComponent <Board>(); float tileSize = ResourceLoader.instance.defaultBlockFab.GetComponent <SpriteRenderer>().size.x; curBoard.CreateEmptyBoardWithoutTiles(boardSize, tileSize); readBoard(sr); boardReadComplete = true; } else if (line.StartsWith(END_BOARD.Trim())) { //normally this is read in during the readBoard boardReadComplete = true; } if (boardReadComplete) { BoardManager.BoardType mbt = (BoardManager.BoardType)Enum.Parse(typeof(BoardManager.BoardType), boardTypeStr); curBoard.myBoardType = mbt; curBoard.boardTitle = boardTitleStr; levelBoards.Add(curBoard); curBoard = null; boardReadComplete = false; boardTypeStr = ""; boardTitleStr = ""; fogSizeStr = ""; boardPosStr = ""; } line = sr.ReadLine(); } sr.Close(); }//using } catch (Exception ex) { Debug.LogError("Error during level load of board " + levelBoards.Count); throw ex; } Debug.Log("Loaded " + levelBoards.Count + " boards"); return(levelBoards); }
/// <summary> /// Populate a board with content...somehow /// </summary> /// <param name="board">The board that will have content loaded into it</param> /// Params for generation: /// <param name="btype">Type of board</param> /// <param name="level">Level being loaded</param> public void LoadBoardContent(Board board, BoardManager.BoardType btype, int level) { if (board == null) { Debug.LogError("Invalid board state"); return; } //This is test code only if (btype == BoardManager.BoardType.RELATIONSHIP) { for (int y = 0; y < board.GetBoardSize(); y++) { GameObject bpOil = Instantiate(ResourceLoader.instance.barrierPieceFab); BarrierBoardPiece bp = bpOil.GetComponent <BarrierBoardPiece>(); bp.SetBoard(board); //vertical barrier at x=2 board.AddPiece(bp, 2, y); } GameObject waifu = Instantiate(ResourceLoader.instance.waifuPieceFab); WaifuBoardPiece wbp = waifu.GetComponent <WaifuBoardPiece>(); wbp.SetBoard(board); //vertical barrier at x=2 board.AddPiece(wbp, 8, 8); //addKey(board, 0, 3, 3); //addKey(board, 1, 4, 5); //addKey(board, 2, 5, 8); } if (btype == BoardManager.BoardType.HEALTH) { //health pots wherever for (int x = 0; x < 10; x += 3) { for (int y = x; y < 8; y += 2) { GameObject horse = Instantiate(ResourceLoader.instance.potionPieceFab); PotionBoardPiece bigH = horse.GetComponent <PotionBoardPiece>(); bigH.SetBoard(board); board.AddPiece(bigH, x, y); addZoneBarrier(board, 0, 0, 1); addZoneBarrier(board, 1, 1, 2); } } } if (btype == BoardManager.BoardType.EDUCATION) { for (int x = 6; x <= 8; x++) { for (int y = 2; y < board.GetBoardSize() - 2; y++) { GameObject mlady = Instantiate(ResourceLoader.instance.eduBookFab); EduBookBoardPiece ml = mlady.GetComponent <EduBookBoardPiece>(); ml.SetBoard(board); //vertical barrier at x=6,7 board.AddPiece(ml, x, y); addZoneBarrier(board, 2, 0, 2); } } } }