Esempio n. 1
0
        public void DestroyTiles(FTileData tileData)
        {
            Debug.Log(tileData.boardPosition);

            /*
             * xxxxxxxxx
             * xxx0xxxx  y+1
             * 0    x-1    xx01000xxxx   x +1
             * xxx0xxxx  y-1
             * xxxxxxxx0
             *
             *
             */

            //for para  la derecha
            for (int x = tileData.boardPosition.x; x < boardSize.x; x++)
            {
                //safe check // null check
                if (board[x, tileData.boardPosition.y] == null)
                {
                    break;
                }
                if (board[x, tileData.boardPosition.y].tileIndex != tileData.tileIndex)
                {
                    break;
                }

                if (board[x, tileData.boardPosition.y].tileIndex == tileData.tileIndex)
                {
                    board[x, tileData.boardPosition.y].DestroyTile();
                }
            }

            //for para la izquierda
            for (int x = tileData.boardPosition.x; x >= 0; x--)
            {
                //safe check // null check
                if (board[x, tileData.boardPosition.y] == null)
                {
                    break;
                }
                if (board[x, tileData.boardPosition.y].tileIndex != tileData.tileIndex)
                {
                    break;
                }


                if (board[x, tileData.boardPosition.y].tileIndex == tileData.tileIndex)
                {
                    board[x, tileData.boardPosition.y].DestroyTile();
                }
            }



            //for para  la up
            for (int y = tileData.boardPosition.y; y < boardSize.y; y++)
            {
                //safe check // null check
                if (board[tileData.boardPosition.x, y] == null)
                {
                    break;
                }
                if (board[tileData.boardPosition.x, y].tileIndex != tileData.tileIndex)
                {
                    break;
                }


                if (board[tileData.boardPosition.x, y].tileIndex == tileData.tileIndex)
                {
                    board[tileData.boardPosition.x, y].DestroyTile();
                }
            }

            //for para la izquierda
            for (int y = tileData.boardPosition.y; y >= 0; y--)
            {
                if (board[tileData.boardPosition.x, y] == null)
                {
                    break;
                }
                if (board[tileData.boardPosition.x, y].tileIndex != tileData.tileIndex)
                {
                    break;
                }

                if (board[tileData.boardPosition.x, y].tileIndex == tileData.tileIndex)
                {
                    board[tileData.boardPosition.x, y].DestroyTile();
                }
            }

            board[tileData.boardPosition.x, tileData.boardPosition.y].DestroyTile();
        }
Esempio n. 2
0
 public void Explode(FTileData tileData)
 {
     ///destruye un area alrededor de
     //bomb tambien tiene tileData.boardPosition
 }