示例#1
0
    public Transform[,] ConstructTiles(Board_Base board)
    {
        Defines.Position _startPos = new Defines.Position((-board.BoardWidth / 2) * m_gapBetweenTiles, (-board.BoardHeight / 2) * m_gapBetweenTiles);
        string           _path     = $"Prefabs/Tile/Tile";

        Transform[,] _returnBoard = new Transform[board.BoardWidth, board.BoardHeight];

        for (int i = 0; i < board.BoardWidth; i++)
        {
            for (int j = 0; j < board.BoardHeight; j++)
            {
                GameObject go = Managers.Resources.Instantiate(_path, m_terrainHolder);
                go.GetComponent <SpriteRenderer>().sprite = m_terrains[board.TileIndexes[i, j]];
                go.transform.position = new Vector2(_startPos.posX + (i * m_gapBetweenTiles), _startPos.posY + (j * m_gapBetweenTiles));
                _returnBoard[i, j]    = go.transform;
            }
        }
        return(_returnBoard);
    }
示例#2
0
    public bool LoadBoardData(string code, out Board_Base board)
    {
        Debug.Log("Load Data... : Start Load the Board Data");
        string loadString = File.ReadAllText("Assets/Resources/Data/MapCodeData.json");

        if (loadString == null)
        {
            board = null;
            return(false);
        }

        JObject loaddata = JObject.Parse(loadString); // JObject 파싱

        JArray loadarray = (JArray)loaddata[code]["Tiles"];

        int[,] tileIndexs = new int[(int)loaddata[code]["Width"] + 1, (int)loaddata[code]["Height"] + 1];

        int dataCnt = 0;

        for (int i = 1; i < (int)loaddata[code]["Width"] + 1; i++)
        {
            for (int j = 1; j < (int)loaddata[code]["Height"] + 1; j++)
            {
                tileIndexs[i, j] = (int)loadarray[dataCnt];
                dataCnt++;
            }
        }

        board = Board_Base.Builder()
                .SetWidth((int)loaddata[code]["Width"])
                .SetHeight((int)loaddata[code]["Height"])
                .SetTileIndexs(tileIndexs)
                .BoardBuild();

        return(true);
    }