diff options
| author | Elizabeth Hunt <me@liz.coffee> | 2026-01-25 21:05:54 -0800 |
|---|---|---|
| committer | Elizabeth Hunt <me@liz.coffee> | 2026-01-25 21:05:54 -0800 |
| commit | 2e3d0963650d5f01163ffca1049a9886aa7489fa (patch) | |
| tree | 5dd3cca8818c59141fccdddb1b7fd2978cb854dc /core/src | |
| parent | 83cb0653209f3300e220e76d3f57a000ef4219a6 (diff) | |
| download | the-abstraction-engine-v2-2e3d0963650d5f01163ffca1049a9886aa7489fa.tar.gz the-abstraction-engine-v2-2e3d0963650d5f01163ffca1049a9886aa7489fa.zip | |
Adds a skip intro flag
Diffstat (limited to 'core/src')
4 files changed, 15 insertions, 1 deletions
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<LifeInput>, Disposable { @Override public void update(final World<LifeInput> 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<Integer> gridDimensions = lifeSystem.getDimensions(); final List<List<Set<Entity>>> 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; } |
