Esempio n. 1
0
    public virtual TileData TileData(TileChunk tileChunk, int x, int y, TileData _tileData)
    {
        _tileData.RenderDataforCol = true;

        if (tileChunk.GetTile(x + 1, y).IsSolid() &&
            tileChunk.GetTile(x - 1, y).IsSolid() &&
            tileChunk.GetTile(x, y - 1).IsSolid() &&
            tileChunk.GetTile(x, y + 1).IsSolid())
        {
            _tileData.RenderDataforCol = false;
        }

        _tileData.AddVertex(new Vector3(x - 0.5f, y - 0.5f, 0));
        _tileData.AddVertex(new Vector3(x - 0.5f, y + 0.5f, 0));
        _tileData.AddVertex(new Vector3(x + 0.5f, y + 0.5f, 0));
        _tileData.AddVertex(new Vector3(x + 0.5f, y - 0.5f, 0));

        _tileData.AddUVs(TileUVs(tileChunk, x, y));

        _tileData.AddQuadTriangles();

        return(_tileData);
    }
    public Tile GetTile(int x, int y)
    {
        TileChunk containerChunk = GetChunk(x, y);

        if (containerChunk != null)
        {
            Tile tile = containerChunk.GetTile(x - containerChunk.pos.x, y - containerChunk.pos.y);
            return(tile);
        }
        else
        {
            return(new TileAir());
        }
    }
    public override TileTextureData TexturePosition(TileChunk tileChunk, int x, int y)
    {
        TileTextureData tileTextureData = new TileTextureData ();
        tileTextureData.x = 1;
        tileTextureData.y = 0;

        if(!tileChunk.GetTile(x, y + 1).IsSolid())
        {
            tileTextureData.x = 1;
            tileTextureData.y = 1;
        }

        return tileTextureData;
    }
    public override TileTextureData TexturePosition(TileChunk tileChunk, int x, int y)
    {
        TileTextureData tileTextureData = new TileTextureData();

        tileTextureData.x = 1;
        tileTextureData.y = 0;

        if (!tileChunk.GetTile(x, y + 1).IsSolid())
        {
            tileTextureData.x = 1;
            tileTextureData.y = 1;
        }

        return(tileTextureData);
    }