From 2e3d0963650d5f01163ffca1049a9886aa7489fa Mon Sep 17 00:00:00 2001 From: Elizabeth Hunt Date: Sun, 25 Jan 2026 21:05:54 -0800 Subject: Adds a skip intro flag --- .../coffee/liz/abstractionengine/app/AbstractionEngineGame.java | 2 +- .../coffee/liz/abstractionengine/app/life/EntropyAudioSystem.java | 6 ++++++ .../java/coffee/liz/abstractionengine/app/screen/ScrollLogo.java | 5 +++++ .../liz/abstractionengine/app/settings/SettingsInstruction.java | 3 +++ 4 files changed, 15 insertions(+), 1 deletion(-) (limited to 'core/src/main/java/coffee') diff --git a/core/src/main/java/coffee/liz/abstractionengine/app/AbstractionEngineGame.java b/core/src/main/java/coffee/liz/abstractionengine/app/AbstractionEngineGame.java index afb9c09..097eabb 100644 --- a/core/src/main/java/coffee/liz/abstractionengine/app/AbstractionEngineGame.java +++ b/core/src/main/java/coffee/liz/abstractionengine/app/AbstractionEngineGame.java @@ -22,7 +22,7 @@ public class AbstractionEngineGame extends Game { public BitmapFont font; public FitViewport viewport; public ShapeRenderer shapeRenderer; - public SettingsInstruction settings; + public SettingsInstruction settings = SettingsInstruction.builder().build(); /** * Game initialization hook. diff --git a/core/src/main/java/coffee/liz/abstractionengine/app/life/EntropyAudioSystem.java b/core/src/main/java/coffee/liz/abstractionengine/app/life/EntropyAudioSystem.java index 0bab310..6f499a6 100644 --- a/core/src/main/java/coffee/liz/abstractionengine/app/life/EntropyAudioSystem.java +++ b/core/src/main/java/coffee/liz/abstractionengine/app/life/EntropyAudioSystem.java @@ -63,6 +63,12 @@ public class EntropyAudioSystem implements System, Disposable { @Override public void update(final World world, final LifeInput state, final Duration dt) { + if (!state.getGameInstructions().isPlayMusic()) { + running = false; + return; + } + running = true; + final LifeSystem lifeSystem = world.getSystem(LifeSystem.class); final Vec2 gridDimensions = lifeSystem.getDimensions(); final List>> rows = lifeSystem.getRows(); diff --git a/core/src/main/java/coffee/liz/abstractionengine/app/screen/ScrollLogo.java b/core/src/main/java/coffee/liz/abstractionengine/app/screen/ScrollLogo.java index ab2aa5e..610bb4e 100644 --- a/core/src/main/java/coffee/liz/abstractionengine/app/screen/ScrollLogo.java +++ b/core/src/main/java/coffee/liz/abstractionengine/app/screen/ScrollLogo.java @@ -86,6 +86,11 @@ public class ScrollLogo implements Screen { public void render(final float delta) { game.viewport.apply(); ScreenUtils.clear(Theme.BG); + if (game.settings.isSkipIntro()) { + requestTransition(); + return; + } + stage.act(delta); stage.draw(); } diff --git a/core/src/main/java/coffee/liz/abstractionengine/app/settings/SettingsInstruction.java b/core/src/main/java/coffee/liz/abstractionengine/app/settings/SettingsInstruction.java index baaee84..6fe9d88 100644 --- a/core/src/main/java/coffee/liz/abstractionengine/app/settings/SettingsInstruction.java +++ b/core/src/main/java/coffee/liz/abstractionengine/app/settings/SettingsInstruction.java @@ -8,6 +8,9 @@ import lombok.Getter; @AllArgsConstructor @Getter public class SettingsInstruction { + @Builder.Default + private boolean skipIntro = true; + @Builder.Default private boolean playMusic = true; } -- cgit v1.2.3-70-g09d2