From 1aa9546b73f336c0c03040a91f8a417dc8b4c8c1 Mon Sep 17 00:00:00 2001 From: Ross W Date: Wed, 22 Oct 2025 22:46:20 +0100 Subject: [PATCH] Cleanup SplashScene class --- src/main/java/org/hirw/game/SceneManager.java | 6 +++++- src/main/java/org/hirw/game/SplashScene.java | 18 +++++++++++++++--- src/main/java/org/hirw/game/Window.java | 2 +- 3 files changed, 21 insertions(+), 5 deletions(-) diff --git a/src/main/java/org/hirw/game/SceneManager.java b/src/main/java/org/hirw/game/SceneManager.java index a0ea46c..8e007f1 100644 --- a/src/main/java/org/hirw/game/SceneManager.java +++ b/src/main/java/org/hirw/game/SceneManager.java @@ -4,7 +4,7 @@ import java.util.EnumMap; import java.util.Map; import lombok.Getter; -final class SceneManager { +public final class SceneManager { private static final SceneType DEFAULT_SCENE_TYPE = SceneType.SPLASH; private static final EnumMap SCENES = @@ -19,4 +19,8 @@ final class SceneManager { public static void setScene(SceneType sType) { scene = SCENES.get(sType); } + + public static void update() { + scene.update(); + } } diff --git a/src/main/java/org/hirw/game/SplashScene.java b/src/main/java/org/hirw/game/SplashScene.java index 75936fc..4aab64c 100644 --- a/src/main/java/org/hirw/game/SplashScene.java +++ b/src/main/java/org/hirw/game/SplashScene.java @@ -6,14 +6,26 @@ import java.util.Objects; import org.hirw.game.util.Time; public class SplashScene extends Scene { - private float ramp = 0.0f; + private final float INITIAL_BRIGHTNESS = 0.0f; + private final float FADE_RATE = 0.5f; + + private float brightness; + + public SplashScene() { + this.brightness = INITIAL_BRIGHTNESS; + } public void update() { if (Objects.isNull(Window.get().getGlfwWindow())) { return; } - glClearColor(this.ramp, this.ramp, this.ramp, 0.0f); - this.ramp += 0.5f * Time.deltaTime(); + fadeIn(); + } + + private void fadeIn() { + glClearColor(this.brightness, this.brightness, this.brightness, 0.0f); + final float fadeAmount = FADE_RATE * Time.deltaTime(); + this.brightness += fadeAmount; } } diff --git a/src/main/java/org/hirw/game/Window.java b/src/main/java/org/hirw/game/Window.java index 5396de4..90cce54 100644 --- a/src/main/java/org/hirw/game/Window.java +++ b/src/main/java/org/hirw/game/Window.java @@ -90,7 +90,7 @@ public class Window { private void loop() { while (!glfwWindowShouldClose(glfwWindow)) { Time.update(); - SceneManager.getScene().update(); + SceneManager.update(); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); this.shader.update(); glfwSwapBuffers(glfwWindow);