private void RenderTiles(MagicTileSet magic_tile_set)
    {
        this.tiles_rendered = new Tile[this.tiles_x, this.tiles_z];
        Tile blank  = new Tile(Color.red);
        Tile zeroed = new Tile(Color.blue);

        for (uint z = 0; z < this.tiles_z; z++)
        {
            for (uint x = 0; x < this.tiles_x; x++)
            {
                //if(x == 0 && z == 0){ // POINT OUT (0,0)
                //	this.tiles_rendered[x,z] = zeroed;
                //}else
                //if(x == 6 && z== 33){
                //	this.tiles_rendered[x,z] = zeroed;
                //}else
                if (this.tiles_grass[x, z])
                {
                    this.tiles_rendered[x, z] = magic_tile_set.GetTile(this.tiles_grass, x, z);
                }
                else
                {
                    this.tiles_rendered[x, z] = blank;
                }
            }
        }
    }
    public void BuildMesh()
    {
        MagicTileSet magic_tile_set = LoadMagicTile();
        TileMeshData tile_mesh_data = new TileMeshData(magic_tile_set);

        tile_mesh_data.BuildMesh(GetComponent <MeshFilter> (),
                                 GetComponent <MeshRenderer> (), //this one doesnt seem to be used
                                 GetComponent <MeshCollider> ());
    }
        tile_size = 1.0f;         // Size in unity units

    public TileMeshData(MagicTileSet magic_tile_set)
    {
        LoadHardcodedElevationMap();
        LoadHardcodedGrass();
        RenderTiles(magic_tile_set);
    }