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; }