diff --git a/data/audio/alert0.ogg b/data/audio/alert0.ogg new file mode 100644 index 0000000..aee2067 Binary files /dev/null and b/data/audio/alert0.ogg differ diff --git a/data/audio/alert2.ogg b/data/audio/alert2.ogg new file mode 100644 index 0000000..196c01f Binary files /dev/null and b/data/audio/alert2.ogg differ diff --git a/src/test/java/de/extio/game_engine/demo/DemoModule.java b/src/test/java/de/extio/game_engine/demo/DemoModule.java index fe5a5ca..dfe598c 100644 --- a/src/test/java/de/extio/game_engine/demo/DemoModule.java +++ b/src/test/java/de/extio/game_engine/demo/DemoModule.java @@ -6,6 +6,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.ApplicationContext; import de.extio.game_engine.audio.AudioController; +import de.extio.game_engine.event.EventService; import de.extio.game_engine.module.AbstractClientModule; import de.extio.game_engine.renderer.RendererControl; import de.extio.game_engine.renderer.container.Window; @@ -13,6 +14,7 @@ import de.extio.game_engine.renderer.model.RenderingBoLayer; import de.extio.game_engine.renderer.model.bo.ControlRenderingBo; import de.extio.game_engine.renderer.model.bo.DrawImageRenderingBo; import de.extio.game_engine.renderer.model.bo.ControlRenderingBo.LabelControl; +import de.extio.game_engine.renderer.model.event.UiControlEvent; import de.extio.game_engine.renderer.work.RenderingBoPool; import de.extio.game_engine.resource.StaticResource; @@ -27,6 +29,9 @@ public class DemoModule extends AbstractClientModule { @Autowired private RenderingBoPool renderingBoPool; + @Autowired + private EventService eventService; + private Window mainWindow; @Override @@ -72,7 +77,9 @@ public class DemoModule extends AbstractClientModule { .setEnabled(true) .withDimensionAbsolute(RendererControl.REFERENCE_RESOLUTION.divide(9).multiply(7).substract(20).getX(), 120) .withPositionRelative(10, 600); - this.mainWindow.putRenderingBo(bo); + this.mainWindow.putRenderingBo(bo); + + this.eventService.register(UiControlEvent.class, this.getId(), this::onUiControlEvent); this.getModuleService().changeActiveState(this.mainWindow.getId(), true); } @@ -85,7 +92,7 @@ public class DemoModule extends AbstractClientModule { @Override public void onShow() { this.getModuleService().changeDisplayState(this.mainWindow.getId(), true); - // this.audioController.playMusic(null, List.of(new StaticResource(List.of("audio"), "race.ogg")), true); + this.audioController.playMusic(null, List.of(new StaticResource(List.of("audio"), "race.ogg")), true); } @Override @@ -94,4 +101,16 @@ public class DemoModule extends AbstractClientModule { this.audioController.stopMusic(); } + private void onUiControlEvent(final UiControlEvent event) { + switch (event.getId()) { + case "DemoModule_MainWindow_Label_Welcome" -> { + this.audioController.play(new StaticResource(List.of("audio"), "alert0.ogg")); + } + + case "DemoModule_MainWindow_Label_Start" -> { + this.audioController.play(new StaticResource(List.of("audio"), "alert2.ogg")); + } + } + } + }