Search in sources :

Example 1 with Valign

use of de.gurkenlabs.litiengine.Valign in project litiengine by gurkenlabs.

the class MapComponent method renderCollisionBox.

private void renderCollisionBox(Graphics2D g, IMapObject mapObject, BasicStroke shapeStroke) {
    // render collision boxes
    boolean collision = mapObject.getCustomPropertyBool(MapObjectProperty.COLLISION, false);
    float collisionBoxWidth = mapObject.getCustomPropertyFloat(MapObjectProperty.COLLISIONBOX_WIDTH, -1);
    float collisionBoxHeight = mapObject.getCustomPropertyFloat(MapObjectProperty.COLLISIONBOX_HEIGHT, -1);
    final Align align = Align.get(mapObject.getCustomProperty(MapObjectProperty.COLLISION_ALGIN));
    final Valign valign = Valign.get(mapObject.getCustomProperty(MapObjectProperty.COLLISION_VALGIN));
    if (MapObjectType.get(mapObject.getType()) == MapObjectType.COLLISIONBOX) {
        collisionBoxWidth = mapObject.getWidth();
        collisionBoxHeight = mapObject.getHeight();
        collision = true;
    }
    if (collisionBoxWidth != -1 && collisionBoxHeight != -1) {
        g.setColor(COLOR_COLLISION_FILL);
        Rectangle2D collisionBox = CollisionEntity.getCollisionBox(mapObject.getLocation(), mapObject.getDimension().getWidth(), mapObject.getDimension().getHeight(), collisionBoxWidth, collisionBoxHeight, align, valign);
        Game.getRenderEngine().renderShape(g, collisionBox);
        g.setColor(collision ? COLOR_COLLISION_BORDER : COLOR_NOCOLLISION_BORDER);
        Stroke collisionStroke = collision ? shapeStroke : new BasicStroke(1 / Game.getCamera().getRenderScale(), BasicStroke.CAP_ROUND, BasicStroke.JOIN_BEVEL, 0, new float[] { 1f }, 0);
        Game.getRenderEngine().renderOutline(g, collisionBox, collisionStroke);
    }
}
Also used : BasicStroke(java.awt.BasicStroke) BasicStroke(java.awt.BasicStroke) Stroke(java.awt.Stroke) Align(de.gurkenlabs.litiengine.Align) Valign(de.gurkenlabs.litiengine.Valign) Rectangle2D(java.awt.geom.Rectangle2D)

Aggregations

Align (de.gurkenlabs.litiengine.Align)1 Valign (de.gurkenlabs.litiengine.Valign)1 BasicStroke (java.awt.BasicStroke)1 Stroke (java.awt.Stroke)1 Rectangle2D (java.awt.geom.Rectangle2D)1