IEnumerator RemoveAndAdd(TileInfo map, int i, float x, float y, float height)
    {
        //TODO: Optimize the speed
        for (int k = 0; k < height; k++)
        {
            map.AddTile(new Vector2(x + i, y + k), 0);
            yield return(null);
        }

        for (int j = (int)height; j < map.mapHeight; j++)
        {
            map.RemoveTile(new Vector2(x + i, y + j));
            yield return(null);
        }
    }
        private void Fill(TileInfo map, Transform transform, int start, float height, float length)
        {
            for (int i = start; i < start + length; i++)
            {
                //TODO: Might have a better way of clearing the tiles
                for (int j = 0; j < map.mapHeight; j++)
                {
                    map.RemoveTile(new Vector2(transform.position.x + i, transform.position.y + j));
                }

                for (int k = 0; k < height; k++)
                {
                    map.AddTile(new Vector2(transform.position.x + i, transform.position.y + k), 0);
                }

                //yield return null;
            }
        }