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); }
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); }