void StartLevel() { level = 0; levelText.text = "Level " + (level + 1); // SetDictionaryData(); TextAsset asset = Resources.Load("JsonData/LevelConfig") as TextAsset; TextAsset asset2 = Resources.Load("JsonData/TilePointsConfig") as TextAsset; if (asset != null) { data = JsonUtility.FromJson <Data>(asset.text); SetLevelValue(level); } else { Debug.Log("Asset is null"); } if (asset2 != null) { tilePointData = JsonUtility.FromJson <TilePointData>(asset2.text); } else { Debug.Log("Asset2 is null"); } }
// Create board // public void CreateBoard(int _row, int _column, Vector2 _startPosition, Vector2 _offset, GameObject _tile, List<name> _names, Dictionary<name, Sprite> _spriteDict, Data _data) // { // spriteDict = _spriteDict; // row = _row; // column = _column; // startPosition = _startPosition; // offset = _offset; // tiles = new TileController[row, column]; // tile = _tile; // names = _names; // BoardData[] boardData = data.items.levels[0].boards; // // tile = Resources.Load() // for (int y = 0; y < column; y++) // { // for (int x = 0; x < row; x++) // { // GameObject newTile = Instantiate(tile, new Vector3(startPosition.x + (offset.x * x), startPosition.y - (offset.y * y), 0), tile.transform.rotation); // tiles[x, y] = newTile.GetComponent<TileController>(); // newTile.name = "[ " + x + " , " + y + " ]"; // tiles[x, y].transform.parent = transform; // List<name> listname = new List<name>(); // listname.AddRange(names); // if (x > 0) // listname.Remove(tiles[x - 1, y].name); // if (y > 0) // listname.Remove(tiles[x, y - 1].name); // name name = listname[UnityEngine.Random.Range(0, listname.Count)]; // // Debug.LogFormat("x = {0}, y = {1}, tilesNames count = {2}", x, y , listname.Count); // tiles[x, y].name = name; // newTile.name = name.ToString(); // tiles[x, y].SpriteRenderer.sprite = spriteDict[name]; // } // } // } // Create board by level // public void CreateBoardByLevelInfo(int _row, int _column, Vector2 _startPosition, Vector2 _offset, GameObject _tile, List<name> _names, Dictionary<name, Sprite> _spriteDict, Dictionary<int, name> intnameDict, int[] intTileArrays, Data _data) // { // data = _data; // spriteDict = _spriteDict; // row = _row; // column = _column; // startPosition = _startPosition; // offset = _offset; // tiles = new TileController[row, column]; // tile = _tile; // names = _names; // intTileDict = intnameDict; // intTileArray = intTileArrays; // for (int y = 0; y < column; y++) // { // for (int x = 0; x < row; x++) // { // GameObject newTile = Instantiate(tile, new Vector3(startPosition.x + (offset.x * x), startPosition.y - (offset.y * y), 0), tile.transform.rotation); // tiles[x, y] = newTile.GetComponent<TileController>(); // // string spriteId = BillboardAsset.Find ( e => e.x == x && e.y == y ).id; // // string spriteName = objects.Find ( e => e.id == spriteId).spriteName; // // SpriteRenderer sprite = Resources.Load<SpriteRenderer>() // // tile[x,y].spriterRedner = sprite; // // tile[x,y].score = object.score; // //newTile.name = "[ " + x + " , " + y + " ]"; // // Ba vì có con bò vàng // int soNguyenDaiDienChoTileTrongTuDien = intTileArray[x + y * row]; // name name = intTileDict[soNguyenDaiDienChoTileTrongTuDien]; // tiles[x, y].name = name; // // Get the sprite through index // tiles[x, y].SpriteRenderer.sprite = Resources.Load<Sprite>("Character/" + (int)name); //spriteDict[name]; // newTile.name = soNguyenDaiDienChoTileTrongTuDien.ToString(); // //name theTile = intTileDict[] // } // } // } public void CreateBoardWithIndexAndString(int _row, int _column, Vector2 _startPosition, Vector2 _offset, GameObject _tile, Data _data, TilePointData _tilePointData) { // spriteDict = _spriteDict; row = _row; column = _column; startPosition = _startPosition; offset = _offset; tiles = new TileController[row, column]; tile = _tile; // names = _names; // intTileDict = intnameDict; //intTileArray = intTileArrays; data = _data; tilePointData = _tilePointData; for (int y = 0; y < column; y++) { for (int x = 0; x < row; x++) { int posX = data.items.levels[0].boards[x + y * row].x; int posY = data.items.levels[0].boards[x + y * row].y; // Debug.Log(data.items.levels[0].boards[x * 8 + y].x); GameObject newTile = Instantiate(tile, new Vector3(startPosition.x + (offset.x * posX), startPosition.y - (offset.y * posY), 0), tile.transform.rotation); tiles[x, y] = newTile.GetComponent <TileController>(); // int soNguyenDaiDienChoTileTrongTuDien = ; string nameLoaded = data.items.levels[0].boards[x + y * row].tileId; tiles[x, y].name = nameLoaded; TileDetails tileData = tilePointData.items.tileProperties.Find(e => e.id == nameLoaded); // Debug.LogFormat("tileData: {0}", tileData.id); tiles[x, y].SpriteRenderer.sprite = Resources.Load <Sprite>(tileData.id); // Get the sprite through index newTile.name = tileData.spriteName; } } }