Example #1
0
void Layer::drawPass( Engine& engine, Tile& tile, const Point& offset, Renderer::Pass pass)
{
    Point screenPos = tile.mappos() + offset;
    switch( pass )
    {
    case Renderer::ground:
        engine.draw( tile.picture(), screenPos );
        break;

    case Renderer::groundAnimation:
    {
        if( tile.animation().isValid() )
        {
            engine.draw( tile.animation().currentFrame(), screenPos );
        }
    }
    break;

    case Renderer::overlay:
    {
        if( tile.rov().isNull() )
            return;

        engine.draw( tile.rov()->picture(), screenPos );
    }
    break;

    default:
    {
        if( tile.rov().isNull() )
            return;

        engine.draw( tile.rov()->pictures( pass ), screenPos );
    }
    break;
    }
}