コード例 #1
0
ファイル: LevelFileIO.cs プロジェクト: PeachTreeOath/LD39
 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());
 }
コード例 #2
0
ファイル: LevelFileIO.cs プロジェクト: PeachTreeOath/LD39
    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
    }
コード例 #3
0
ファイル: LevelFileIO.cs プロジェクト: PeachTreeOath/LD39
    //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);
    }
コード例 #4
0
ファイル: LevelLoader.cs プロジェクト: PeachTreeOath/LD39
    /// <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);
                }
            }
        }
    }