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);
}
}
Aggregations