feat(renderer): Introduce HorizontalAlignment and VerticalAlignment enums; refactor alignment handling and scaling in rendering components
This commit is contained in:
@@ -9,6 +9,10 @@ import de.extio.game_engine.audio.AudioController;
|
||||
import de.extio.game_engine.module.AbstractClientModule;
|
||||
import de.extio.game_engine.renderer.RendererControl;
|
||||
import de.extio.game_engine.renderer.container.Window;
|
||||
import de.extio.game_engine.renderer.model.RenderingBo;
|
||||
import de.extio.game_engine.renderer.model.bo.ControlRenderingBo;
|
||||
import de.extio.game_engine.renderer.model.bo.ControlRenderingBo.LabelControl;
|
||||
import de.extio.game_engine.renderer.work.RenderingBoPool;
|
||||
import de.extio.game_engine.resource.StaticResource;
|
||||
|
||||
public class DemoModule extends AbstractClientModule {
|
||||
@@ -19,19 +23,51 @@ public class DemoModule extends AbstractClientModule {
|
||||
@Autowired
|
||||
private AudioController audioController;
|
||||
|
||||
@Autowired
|
||||
private RenderingBoPool renderingBoPool;
|
||||
|
||||
private Window mainWindow;
|
||||
|
||||
@Override
|
||||
public void onLoad() {
|
||||
this.mainWindow = this.applicationContext.getBean(Window.class);
|
||||
this.mainWindow.setPosition(RendererControl.REFERENCE_RESOLUTION.divide(9));
|
||||
this.mainWindow.setDimension(RendererControl.REFERENCE_RESOLUTION.divide(9).multiply(7));
|
||||
this.mainWindow.setNormalizedPosition(RendererControl.REFERENCE_RESOLUTION.divide(9));
|
||||
this.mainWindow.setNormalizedDimension(RendererControl.REFERENCE_RESOLUTION.divide(9).multiply(7));
|
||||
this.mainWindow.setDraggable(true);
|
||||
|
||||
var bo = this.renderingBoPool.acquire("DemoModule_MainWindow_Label_1", ControlRenderingBo.class)
|
||||
.setCaption("Welcome to Exo's Game Engine Demo!")
|
||||
.setFontSize(48)
|
||||
.setType(LabelControl.class)
|
||||
.setVisible(true)
|
||||
.setEnabled(true)
|
||||
.withDimensionAbsolute(RendererControl.REFERENCE_RESOLUTION.divide(9).multiply(7).substract(20).getX(), 60)
|
||||
.withPositionRelative(10, 100);
|
||||
this.mainWindow.putRenderingBo(bo);
|
||||
|
||||
this.getModuleService().changeActiveState(this.getId(), true);
|
||||
this.getModuleService().changeDisplayState(this.getId(), true);
|
||||
}
|
||||
|
||||
// private void displayMenuEntries(final List<RenderingBo> renderingBo) {
|
||||
// int y = EngineFacade.instance().getRendererControl().getEffectiveViewportDimension().getY() / 2 - (this.SIZE + this.SPACING) * this.menuEntries.size() / 2;
|
||||
|
||||
// for (final MenuEntry menuEntry : this.menuEntries) {
|
||||
// final int fy = y;
|
||||
// this.addRenderingBo(renderingBo, true, () -> EngineFacade.instance().getRenderingBoPool().acquire(ControlRenderingBo.class)
|
||||
// .setId("Menu_Label_" + menuEntry.getId())
|
||||
// .setCaption(menuEntry.getCaption())
|
||||
// .setFontSize(this.SIZE)
|
||||
// .setType(LabelControl.class)
|
||||
// .setVisible(this.isDisplayed())
|
||||
// .setEnabled(menuEntry.isActive())
|
||||
// .withDimensionAbsolute(EngineFacade.instance().getRendererControl().getEffectiveViewportDimension().getX(), this.SIZE + this.SPACING)
|
||||
// .withPositionAbsoluteAnchorTopLeft(0, fy));
|
||||
|
||||
// y += this.SIZE + this.SPACING;
|
||||
// }
|
||||
// }
|
||||
|
||||
@Override
|
||||
public void onUnload() {
|
||||
this.getModuleService().unloadModule(this.mainWindow.getId());
|
||||
@@ -50,7 +86,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
|
||||
|
||||
Reference in New Issue
Block a user