feat(renderer): Add G2DRendererCondition to control rendering based on configuration
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
package de.extio.game_engine.renderer.g2d;
|
||||
|
||||
import org.springframework.context.annotation.Condition;
|
||||
import org.springframework.context.annotation.ConditionContext;
|
||||
import org.springframework.core.env.Environment;
|
||||
import org.springframework.core.type.AnnotatedTypeMetadata;
|
||||
|
||||
/**
|
||||
* Condition that matches when the renderer is enabled and the strategy is g2d.
|
||||
*
|
||||
* Behavior mirrors the previous Spring Boot conditions:
|
||||
* - game-engine.renderer.enabled: when present must be "true"; when missing it matches (default true).
|
||||
* - game-engine.renderer.strategy: when present must equal "g2d"; when missing it matches.
|
||||
*/
|
||||
public class G2DRendererCondition implements Condition {
|
||||
|
||||
@Override
|
||||
public boolean matches(final ConditionContext context, final AnnotatedTypeMetadata metadata) {
|
||||
final Environment env = context.getEnvironment();
|
||||
|
||||
final String enabled = env.getProperty("game-engine.renderer.enabled");
|
||||
if (enabled != null && !Boolean.parseBoolean(enabled)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
final String strategy = env.getProperty("game-engine.renderer.strategy");
|
||||
if (strategy != null) {
|
||||
return "g2d".equalsIgnoreCase(strategy);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -14,8 +14,11 @@ import java.util.Objects;
|
||||
|
||||
import javax.imageio.ImageIO;
|
||||
|
||||
|
||||
import org.springframework.context.annotation.Conditional;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import de.extio.game_engine.renderer.g2d.G2DRendererCondition;
|
||||
import de.extio.game_engine.renderer.g2d.G2DRendererControl;
|
||||
import de.extio.game_engine.renderer.model.RenderingBoLayer;
|
||||
import de.extio.game_engine.renderer.model.color.ImmutableRgbaColor;
|
||||
@@ -25,6 +28,7 @@ import de.extio.game_engine.spatial2.model.ImmutableCoordI2;
|
||||
import de.extio.game_engine.spatial2.model.MutableCoordI2;
|
||||
import de.extio.game_engine.util.rng.ThreadLocalXorShift128Random;
|
||||
|
||||
@Conditional(G2DRendererCondition.class)
|
||||
@Component
|
||||
public class G2DDrawBackground extends G2DAbstractRenderingBo {
|
||||
|
||||
|
||||
@@ -6,9 +6,11 @@ import java.awt.Graphics2D;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.springframework.context.annotation.Conditional;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import de.extio.game_engine.renderer.g2d.G2DRenderer;
|
||||
import de.extio.game_engine.renderer.g2d.G2DRendererCondition;
|
||||
import de.extio.game_engine.renderer.g2d.control.components.ComponentRenderingSupport;
|
||||
import de.extio.game_engine.renderer.model.RenderingBoLayer;
|
||||
import de.extio.game_engine.renderer.model.bo.DrawEffectRenderingBo;
|
||||
@@ -19,6 +21,7 @@ import de.extio.game_engine.spatial2.model.CoordI2;
|
||||
import de.extio.game_engine.spatial2.model.ImmutableCoordI2;
|
||||
import de.extio.game_engine.spatial2.model.MutableCoordI2;
|
||||
|
||||
@Conditional(G2DRendererCondition.class)
|
||||
@Component
|
||||
public class G2DDrawEffect extends G2DAbstractRenderingBo implements DrawEffectRenderingBo {
|
||||
|
||||
|
||||
@@ -8,8 +8,10 @@ import java.awt.font.TextAttribute;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import org.springframework.context.annotation.Conditional;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import de.extio.game_engine.renderer.g2d.G2DRendererCondition;
|
||||
import de.extio.game_engine.renderer.model.RenderingBoLayer;
|
||||
import de.extio.game_engine.renderer.model.bo.DrawFontRenderingBo;
|
||||
import de.extio.game_engine.renderer.model.bo.DrawFontRenderingBoTextAlignment;
|
||||
@@ -17,6 +19,7 @@ import de.extio.game_engine.spatial2.model.CoordI2;
|
||||
import de.extio.game_engine.spatial2.model.ImmutableCoordI2;
|
||||
import de.extio.game_engine.spatial2.model.MutableCoordI2;
|
||||
|
||||
@Conditional(G2DRendererCondition.class)
|
||||
@Component
|
||||
public class G2DDrawFont extends G2DAbstractRenderingBo implements DrawFontRenderingBo {
|
||||
|
||||
|
||||
@@ -4,10 +4,13 @@ import java.awt.Color;
|
||||
import java.awt.Graphics2D;
|
||||
import java.util.Collection;
|
||||
|
||||
import org.springframework.context.annotation.Conditional;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import de.extio.game_engine.renderer.g2d.G2DRendererCondition;
|
||||
import de.extio.game_engine.renderer.model.RenderingBoLayer;
|
||||
|
||||
@Conditional(G2DRendererCondition.class)
|
||||
@Component
|
||||
public class G2DDrawFpsHistory extends G2DAbstractRenderingBo {
|
||||
|
||||
|
||||
@@ -11,13 +11,15 @@ import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.imageio.ImageIO;
|
||||
|
||||
import org.springframework.context.annotation.Conditional;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import de.extio.game_engine.renderer.g2d.G2DRenderer;
|
||||
import de.extio.game_engine.renderer.g2d.G2DRendererCondition;
|
||||
import de.extio.game_engine.renderer.model.RenderingBoLayer;
|
||||
import de.extio.game_engine.renderer.model.bo.DrawImageRenderingBo;
|
||||
|
||||
@Conditional(G2DRendererCondition.class)
|
||||
@Component
|
||||
public class G2DDrawImage extends G2DAbstractRenderingBo implements DrawImageRenderingBo {
|
||||
|
||||
|
||||
@@ -2,11 +2,14 @@ package de.extio.game_engine.renderer.g2d.bo.rendering;
|
||||
|
||||
import java.awt.Graphics2D;
|
||||
|
||||
import org.springframework.context.annotation.Conditional;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import de.extio.game_engine.renderer.g2d.G2DRendererCondition;
|
||||
import de.extio.game_engine.renderer.model.RenderingBoLayer;
|
||||
import de.extio.game_engine.renderer.model.bo.DrawTestRenderingBo;
|
||||
|
||||
@Conditional(G2DRendererCondition.class)
|
||||
@Component
|
||||
public class G2DDrawTest extends G2DAbstractRenderingBo implements DrawTestRenderingBo {
|
||||
|
||||
|
||||
@@ -2,14 +2,17 @@ package de.extio.game_engine.renderer.g2d.bo.rendering;
|
||||
|
||||
import java.awt.Graphics2D;
|
||||
|
||||
import org.springframework.context.annotation.Conditional;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import de.extio.game_engine.renderer.g2d.G2DRendererCondition;
|
||||
import de.extio.game_engine.renderer.g2d.control.components.ComponentRenderingSupport;
|
||||
import de.extio.game_engine.renderer.model.RenderingBoLayer;
|
||||
import de.extio.game_engine.renderer.model.bo.DrawWindowRenderingBo;
|
||||
import de.extio.game_engine.renderer.model.color.ImmutableRgbaColor;
|
||||
import de.extio.game_engine.renderer.model.color.RgbaColor;
|
||||
|
||||
@Conditional(G2DRendererCondition.class)
|
||||
@Component
|
||||
public class G2DDrawWindow extends G2DAbstractRenderingBo implements DrawWindowRenderingBo {
|
||||
|
||||
|
||||
@@ -8,14 +8,17 @@ import java.awt.image.BufferedImage;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import org.springframework.context.annotation.Conditional;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import de.extio.game_engine.renderer.g2d.G2DRenderer;
|
||||
import de.extio.game_engine.renderer.g2d.G2DRendererCondition;
|
||||
import de.extio.game_engine.renderer.model.RenderingBoLayer;
|
||||
import de.extio.game_engine.renderer.model.bo.DrawWindowRenderingBo;
|
||||
import de.extio.game_engine.renderer.model.color.ImmutableRgbaColor;
|
||||
import de.extio.game_engine.renderer.model.color.RgbaColor;
|
||||
|
||||
@Conditional(G2DRendererCondition.class)
|
||||
@Component
|
||||
public class G2DDrawWindow2 extends G2DAbstractRenderingBo implements DrawWindowRenderingBo {
|
||||
|
||||
|
||||
@@ -8,8 +8,10 @@ import java.util.Map;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.context.annotation.Conditional;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import de.extio.game_engine.renderer.g2d.G2DRendererCondition;
|
||||
import de.extio.game_engine.renderer.g2d.bo.rendering.G2DAbstractRenderingBo;
|
||||
import de.extio.game_engine.renderer.g2d.control.impl.G2DBaseControlImpl;
|
||||
import de.extio.game_engine.renderer.g2d.control.impl.G2DButtonControlImpl;
|
||||
@@ -27,6 +29,7 @@ import de.extio.game_engine.renderer.model.bo.ControlRenderingBo;
|
||||
import de.extio.game_engine.renderer.model.bo.DrawFontRenderingBoTextAlignment;
|
||||
import de.extio.game_engine.renderer.model.color.RgbaColor;
|
||||
|
||||
@Conditional(G2DRendererCondition.class)
|
||||
@Component
|
||||
public class G2DDrawControl extends G2DAbstractRenderingBo implements ControlRenderingBo {
|
||||
|
||||
|
||||
@@ -3,14 +3,17 @@ package de.extio.game_engine.renderer.g2d.control;
|
||||
import java.awt.Color;
|
||||
import java.awt.Graphics2D;
|
||||
|
||||
import org.springframework.context.annotation.Conditional;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import de.extio.game_engine.renderer.g2d.G2DRendererCondition;
|
||||
import de.extio.game_engine.renderer.g2d.bo.rendering.G2DAbstractRenderingBo;
|
||||
import de.extio.game_engine.renderer.g2d.bo.rendering.G2DDrawFont;
|
||||
import de.extio.game_engine.renderer.model.RenderingBoLayer;
|
||||
import de.extio.game_engine.renderer.model.color.MutableRgbaColor;
|
||||
import de.extio.game_engine.spatial2.model.CoordI2;
|
||||
|
||||
@Conditional(G2DRendererCondition.class)
|
||||
@Component
|
||||
public class G2DDrawControlTooltip extends G2DAbstractRenderingBo {
|
||||
|
||||
|
||||
Reference in New Issue
Block a user