Apply BASE Widgets' attributes engine improvement

This commit is contained in:
2022-08-25 19:56:09 +02:00
parent e366f85de1
commit a8a12a022a
12 changed files with 69 additions and 72 deletions

View File

@@ -2,11 +2,14 @@ package com.bartlomiejpluta.demo.gui;
import com.bartlomiejpluta.base.api.context.Context;
import com.bartlomiejpluta.base.api.gui.Color;
import com.bartlomiejpluta.base.api.gui.Component;
import com.bartlomiejpluta.base.api.gui.GUI;
import com.bartlomiejpluta.base.api.screen.Screen;
import com.bartlomiejpluta.base.lib.gui.BaseComponent;
import lombok.Setter;
import java.util.Map;
public class Bar extends BaseComponent {
private final Color stroke;
@@ -16,8 +19,8 @@ public class Bar extends BaseComponent {
private float actualValue = 1.0f;
private final float speed = 0.05f;
public Bar(Context context, GUI gui) {
super(context, gui);
public Bar(Context context, GUI gui, Map<String, Component> refs) {
super(context, gui, refs);
this.stroke = gui.createColor();
this.fill = gui.createColor();

View File

@@ -2,28 +2,32 @@ package com.bartlomiejpluta.demo.gui;
import com.bartlomiejpluta.base.api.context.Context;
import com.bartlomiejpluta.base.api.gui.Color;
import com.bartlomiejpluta.base.api.gui.Component;
import com.bartlomiejpluta.base.api.gui.GUI;
import com.bartlomiejpluta.base.api.input.Key;
import com.bartlomiejpluta.base.api.input.KeyAction;
import com.bartlomiejpluta.base.api.input.KeyEvent;
import com.bartlomiejpluta.base.api.screen.Screen;
import com.bartlomiejpluta.base.lib.gui.Label;
import com.bartlomiejpluta.base.lib.gui.TextAlignment;
import lombok.Setter;
import java.util.Map;
public class Button extends Label {
private final Color color;
@Setter
private Runnable action;
public Button(Context context, GUI gui) {
super(context, gui);
public Button(Context context, GUI gui, Map<String, Component> refs) {
super(context, gui, refs);
this.color = gui.createColor();
this.color.setRGBA(1, 1, 1, 0);
setText("");
setFontSize(17f);
setAlignment(GUI.ALIGN_TOP | GUI.ALIGN_CENTER);
setAlignment(TextAlignment.TOP, TextAlignment.CENTER);
setColor(0.4f, 0.7f, 0.0f, 1f);
setPadding(10f);
addEventListener(KeyEvent.TYPE, this::handleKeyEvent);

View File

@@ -2,18 +2,21 @@ package com.bartlomiejpluta.demo.gui;
import com.bartlomiejpluta.base.api.context.Context;
import com.bartlomiejpluta.base.api.gui.Color;
import com.bartlomiejpluta.base.api.gui.Component;
import com.bartlomiejpluta.base.api.gui.GUI;
import com.bartlomiejpluta.base.api.gui.Paint;
import com.bartlomiejpluta.base.api.screen.Screen;
import com.bartlomiejpluta.base.lib.gui.BaseWindow;
public abstract class DecoratedWindow extends BaseWindow {
import java.util.Map;
public class DecoratedWindow extends BaseWindow {
private final Paint paint;
private final Color inner;
private final Color outer;
public DecoratedWindow(Context context, GUI gui) {
super(context, gui);
public DecoratedWindow(Context context, GUI gui, Map<String, Component> refs) {
super(context, gui, refs);
this.inner = gui.createColor();
this.outer = gui.createColor();

View File

@@ -1,6 +1,7 @@
package com.bartlomiejpluta.demo.gui;
import com.bartlomiejpluta.base.api.context.Context;
import com.bartlomiejpluta.base.api.gui.Component;
import com.bartlomiejpluta.base.api.gui.GUI;
import com.bartlomiejpluta.base.api.gui.Ref;
import com.bartlomiejpluta.base.api.gui.WindowManager;
@@ -9,6 +10,8 @@ import com.bartlomiejpluta.base.lib.gui.VGridOptionChoice;
import com.bartlomiejpluta.demo.entity.Player;
import com.bartlomiejpluta.demo.runner.DemoRunner;
import java.util.Map;
public class EquipmentWindow extends DecoratedWindow {
private final DemoRunner runner;
@@ -17,8 +20,8 @@ public class EquipmentWindow extends DecoratedWindow {
@Ref("eq")
private VGridOptionChoice eqGrid;
public EquipmentWindow(Context context, GUI gui) {
super(context, gui);
public EquipmentWindow(Context context, GUI gui, Map<String, Component> refs) {
super(context, gui, refs);
this.runner = (DemoRunner) context.getGameRunner();
this.player = runner.getPlayer();
}

View File

@@ -1,11 +1,14 @@
package com.bartlomiejpluta.demo.gui;
import com.bartlomiejpluta.base.api.context.Context;
import com.bartlomiejpluta.base.api.gui.Component;
import com.bartlomiejpluta.base.api.gui.GUI;
import com.bartlomiejpluta.base.api.gui.Inflatable;
import com.bartlomiejpluta.base.api.gui.Ref;
import lombok.Getter;
import java.util.Map;
public class GameMenuWindow extends DecoratedWindow implements Inflatable {
@@ -21,8 +24,8 @@ public class GameMenuWindow extends DecoratedWindow implements Inflatable {
@Getter
private Button exitBtn;
public GameMenuWindow(Context context, GUI gui) {
super(context, gui);
public GameMenuWindow(Context context, GUI gui, Map<String, Component> refs) {
super(context, gui, refs);
}
@Override

View File

@@ -1,6 +1,7 @@
package com.bartlomiejpluta.demo.gui;
import com.bartlomiejpluta.base.api.context.Context;
import com.bartlomiejpluta.base.api.gui.Component;
import com.bartlomiejpluta.base.api.gui.GUI;
import com.bartlomiejpluta.base.api.gui.Ref;
import com.bartlomiejpluta.base.api.screen.Screen;
@@ -15,6 +16,7 @@ import com.bartlomiejpluta.demo.util.LimitedQueue;
import com.bartlomiejpluta.demo.world.weapon.Weapon;
import lombok.extern.slf4j.Slf4j;
import java.util.Map;
import java.util.stream.Collectors;
@Slf4j
@@ -43,8 +45,8 @@ public class HUD extends BorderLayout {
@Ref("weapon")
private IconView weapon;
public HUD(Context context, GUI gui) {
super(context, gui);
public HUD(Context context, GUI gui, Map<String, Component> refs) {
super(context, gui, refs);
this.runner = (DemoRunner) context.getGameRunner();
this.player = runner.getPlayer();
this.runtime = Runtime.getRuntime();

View File

@@ -2,16 +2,19 @@ package com.bartlomiejpluta.demo.gui;
import com.bartlomiejpluta.base.api.context.Context;
import com.bartlomiejpluta.base.api.gui.Color;
import com.bartlomiejpluta.base.api.gui.Component;
import com.bartlomiejpluta.base.api.gui.GUI;
import com.bartlomiejpluta.base.api.screen.Screen;
import com.bartlomiejpluta.base.lib.gui.IconView;
import java.util.Map;
public class ItemIconView extends IconView {
private final Color normal;
private final Color hover;
public ItemIconView(Context context, GUI gui) {
super(context, gui);
public ItemIconView(Context context, GUI gui, Map<String, Component> refs) {
super(context, gui, refs);
this.normal = gui.createColor();
this.hover = gui.createColor();

View File

@@ -1,11 +1,15 @@
package com.bartlomiejpluta.demo.gui;
import com.bartlomiejpluta.base.api.context.Context;
import com.bartlomiejpluta.base.api.gui.Component;
import com.bartlomiejpluta.base.api.gui.GUI;
import com.bartlomiejpluta.base.api.gui.Inflatable;
import com.bartlomiejpluta.base.api.gui.Ref;
import com.bartlomiejpluta.base.lib.gui.VOptionChoice;
import lombok.Getter;
import java.util.Map;
public class StartMenuWindow extends DecoratedWindow implements Inflatable {
@Ref("new_game")
@@ -16,8 +20,8 @@ public class StartMenuWindow extends DecoratedWindow implements Inflatable {
@Getter
private Button exitBtn;
public StartMenuWindow(Context context, GUI gui) {
super(context, gui);
public StartMenuWindow(Context context, GUI gui, Map<String, Component> refs) {
super(context, gui, refs);
}
@Override