feat(renderer): Integrate ModuleExecutor into RendererData and RendererLoop for module execution

This commit is contained in:
extio-de
2025-12-23 18:08:27 +01:00
parent a0b8fa49c1
commit 69b5db1408
3 changed files with 14 additions and 4 deletions

View File

@@ -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);

View File

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

View File

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