From 69b5db14086f21092aed4387a7f2598f5f9ce8e0 Mon Sep 17 00:00:00 2001 From: extio-de Date: Tue, 23 Dec 2025 18:08:27 +0100 Subject: [PATCH] feat(renderer): Integrate ModuleExecutor into RendererData and RendererLoop for module execution --- .../renderer/RendererAutoConfiguration.java | 6 ++++-- .../de/extio/game_engine/renderer/RendererData.java | 10 +++++++++- .../de/extio/game_engine/renderer/RendererLoop.java | 2 +- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/src/main/java/de/extio/game_engine/renderer/RendererAutoConfiguration.java b/src/main/java/de/extio/game_engine/renderer/RendererAutoConfiguration.java index c3ac1ef..06f4251 100644 --- a/src/main/java/de/extio/game_engine/renderer/RendererAutoConfiguration.java +++ b/src/main/java/de/extio/game_engine/renderer/RendererAutoConfiguration.java @@ -14,6 +14,7 @@ import org.springframework.context.annotation.Bean; import de.extio.game_engine.event.EventService; import de.extio.game_engine.keyboard.KeycodeRegistry; +import de.extio.game_engine.module.ModuleExecutor; import de.extio.game_engine.module.ModuleManager; import de.extio.game_engine.renderer.model.RenderingBo; import de.extio.game_engine.renderer.work.RendererWorkingSet; @@ -57,9 +58,10 @@ public class RendererAutoConfiguration { final EventService eventService, final StorageService storageService, final RendererWorkingSet rendererWorkingSet, - final ModuleManager moduleManager) { + final ModuleManager moduleManager, + final ModuleExecutor moduleExecutor) { - final var rendererData = new RendererData(applicationContext, renderer, rendererControl, renderingBoPool, keycodeRegistry, eventService, storageService, rendererWorkingSet, moduleManager); + final var rendererData = new RendererData(applicationContext, renderer, rendererControl, renderingBoPool, keycodeRegistry, eventService, storageService, rendererWorkingSet, moduleManager, moduleExecutor); renderer.setRendererData(rendererData); rendererControl.setRendererData(rendererData); renderingBoPool.setRendererData(rendererData); diff --git a/src/main/java/de/extio/game_engine/renderer/RendererData.java b/src/main/java/de/extio/game_engine/renderer/RendererData.java index 3a9ee66..d7c7a2b 100644 --- a/src/main/java/de/extio/game_engine/renderer/RendererData.java +++ b/src/main/java/de/extio/game_engine/renderer/RendererData.java @@ -7,6 +7,7 @@ import org.springframework.context.ApplicationContext; import de.extio.game_engine.event.EventService; import de.extio.game_engine.keyboard.KeycodeRegistry; +import de.extio.game_engine.module.ModuleExecutor; import de.extio.game_engine.module.ModuleManager; import de.extio.game_engine.renderer.model.options.UiOptions; import de.extio.game_engine.renderer.model.options.VideoOptions; @@ -39,10 +40,12 @@ public class RendererData { private final RendererWorkingSet rendererWorkingSet; private final ModuleManager moduleManager; + + private final ModuleExecutor moduleExecutor; private RendererLoop rendererLoop; - public RendererData(final ApplicationContext applicationContext, final Renderer renderer, final RendererControl rendererControl, final RenderingBoPool renderingBoPool, final KeycodeRegistry keycodeRegistry, final EventService eventService, final StorageService storageService, final RendererWorkingSet rendererWorkingSet, final ModuleManager moduleManager) { + public RendererData(final ApplicationContext applicationContext, final Renderer renderer, final RendererControl rendererControl, final RenderingBoPool renderingBoPool, final KeycodeRegistry keycodeRegistry, final EventService eventService, final StorageService storageService, final RendererWorkingSet rendererWorkingSet, final ModuleManager moduleManager, final ModuleExecutor moduleExecutor) { this.applicationContext = applicationContext; this.renderer = renderer; this.rendererControl = rendererControl; @@ -52,6 +55,7 @@ public class RendererData { this.storageService = storageService; this.rendererWorkingSet = rendererWorkingSet; this.moduleManager = moduleManager; + this.moduleExecutor = moduleExecutor; } public ApplicationContext getApplicationContext() { @@ -113,4 +117,8 @@ public class RendererData { public ModuleManager getModuleManager() { return moduleManager; } + + public ModuleExecutor getModuleExecutor() { + return moduleExecutor; + } } diff --git a/src/main/java/de/extio/game_engine/renderer/RendererLoop.java b/src/main/java/de/extio/game_engine/renderer/RendererLoop.java index 10cdf74..6d9dbd2 100644 --- a/src/main/java/de/extio/game_engine/renderer/RendererLoop.java +++ b/src/main/java/de/extio/game_engine/renderer/RendererLoop.java @@ -40,7 +40,7 @@ public class RendererLoop implements Runnable { while (!this.shutdown) { try { this.rendererData.nextFrame(); - // TODO run modules here + this.rendererData.getModuleExecutor().execute(); this.rendererData.getRenderer().run(); exceptionCount = 0; }