Refactor control rendering data handling
- Replaced multiple custom data fields in G2DDrawControl with specific data classes for each control type (LabelData, ButtonData, ToggleButtonData, etc.). - Updated setCustomData methods to setControlData, allowing for type-safe handling of control-specific data. - Modified control implementations (e.g., G2DButtonControlImpl, G2DLabelControlImpl) to utilize the new data classes. - Adjusted the ControlRenderingBo interface to reflect the new data structure and removed deprecated custom data methods. - Updated demo module to use the new control data structure for button and label controls.
This commit is contained in:
@@ -19,7 +19,9 @@ import de.extio.game_engine.renderer.container.Window;
|
||||
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.ControlRenderingBo.ButtonControl;
|
||||
import de.extio.game_engine.renderer.model.bo.ControlRenderingBo.ButtonData;
|
||||
import de.extio.game_engine.renderer.model.bo.ControlRenderingBo.LabelControl;
|
||||
import de.extio.game_engine.renderer.model.bo.ControlRenderingBo.LabelData;
|
||||
import de.extio.game_engine.renderer.model.bo.ControlRenderingBo.SwitchControl;
|
||||
import de.extio.game_engine.renderer.model.bo.ControlRenderingBo.ToggleButtonControl;
|
||||
import de.extio.game_engine.renderer.model.bo.DrawEffectRenderingBo;
|
||||
@@ -238,7 +240,7 @@ public class DemoModule extends AbstractClientModule {
|
||||
.setTooltip(this.localizationService.translate("test-7"))
|
||||
.setVisible(true)
|
||||
.setEnabled(true)
|
||||
.setCustomData2(new StaticResource(List.of("gfx"), "settings.png"))
|
||||
.setControlData(new ButtonData(null, new StaticResource(List.of("gfx"), "settings.png")))
|
||||
.withDimensionAbsolute(64, 64)
|
||||
.withPositionRelative(buttonX, buttonY);
|
||||
this.mainWindow.putRenderingBo(bo);
|
||||
@@ -487,7 +489,7 @@ public class DemoModule extends AbstractClientModule {
|
||||
.setCaption("Item " + (i + 1) + "")
|
||||
.setFontSize(28)
|
||||
.setType(LabelControl.class)
|
||||
.setCustomData2(HorizontalAlignment.LEFT)
|
||||
.setControlData(new LabelData(null, null, HorizontalAlignment.LEFT))
|
||||
.setVisible(true)
|
||||
.setEnabled(true)
|
||||
.withDimensionAbsolute(100, 60)
|
||||
|
||||
Reference in New Issue
Block a user