package net.onedaybeard.dominatrix.demo.component; import lombok.Data; import lombok.EqualsAndHashCode; import net.onedaybeard.dominatrix.artemis.ExcludeFromJson; import com.artemis.Component; import com.badlogic.gdx.graphics.g2d.Sprite; @Data @EqualsAndHashCode(callSuper=false) @ExcludeFromJson public final class Renderable extends Component { private Sprite sprite; public Renderable(Sprite sprite) { this.sprite = sprite; } @Override public String toString() { return String.format("%s(sprite=%s)", getClass().getSimpleName(), formatSprite(sprite)); } private static String formatSprite(Sprite sprite) { if (sprite == null) return "null"; String scale = sprite.getScaleX() == sprite.getScaleY() ? String.format("%.2f", sprite.getScaleX()) : String.format("%.2fx%.2f", sprite.getScaleX(), sprite.getScaleY()); return String.format("(pos=%.2fx%.2f, size=%.2fx%.2f, offset=%.2fx%.2f, scale=%s)", sprite.getX(), sprite.getY(), sprite.getWidth(), sprite.getHeight(), sprite.getOriginX(), sprite.getOriginY(), scale); } }