This commit is contained in:
Johannes Schmelz 2024-11-29 06:23:12 +01:00
commit 01c351e64b
9 changed files with 22 additions and 25 deletions

View File

@ -15,7 +15,7 @@ import pp.dialog.Dialog;
import pp.monopoly.client.MonopolyApp; import pp.monopoly.client.MonopolyApp;
/** /**
* Bankrupt ist ein Overlay-Menü, welches aufgerufen werden kann, wenn man mit einem negativen Kontostand den Zug beenden möchte. // TODO welche menü-Klasse * Bankrupt is a Warning-Popup, which appears, if the balance is negative at the end of a player´s turn // TODO welche menü-Klasse
*/ */
public class Bankrupt extends Dialog { public class Bankrupt extends Dialog {
private final MonopolyApp app; private final MonopolyApp app;
@ -40,26 +40,26 @@ public class Bankrupt extends Dialog {
app.getGuiNode().attachChild(backgroundContainer); app.getGuiNode().attachChild(backgroundContainer);
// Hauptcontainer für die Gebäudekarte // Hauptcontainer für die Warnung
bankruptContainer = new Container(); bankruptContainer = new Container();
bankruptContainer.setBackground(new QuadBackgroundComponent(new ColorRGBA(0.8657f, 0.8735f, 0.8892f, 1.0f))); bankruptContainer.setBackground(new QuadBackgroundComponent(new ColorRGBA(0.8657f, 0.8735f, 0.8892f, 1.0f)));
bankruptContainer.setPreferredSize(new Vector3f(550,250,10)); bankruptContainer.setPreferredSize(new Vector3f(550,250,10));
float padding = 10; // Padding around the settingsContainer for the background float padding = 10; // Passt den backgroundContainer an die Größe des bankruptContainers an
backgroundContainer.setPreferredSize(bankruptContainer.getPreferredSize().addLocal(padding, padding, 0)); backgroundContainer.setPreferredSize(bankruptContainer.getPreferredSize().addLocal(padding, padding, 0));
// Titel // Titel
// Die Namen werden dynamisch dem BoardManager entnommen
Label gateFieldTitle = bankruptContainer.addChild(new Label("Vorsicht !", new ElementId("settings-title"))); //TODO Dicke Schrift Label gateFieldTitle = bankruptContainer.addChild(new Label("Vorsicht !", new ElementId("settings-title"))); //TODO Dicke Schrift
gateFieldTitle.setFontSize(48); gateFieldTitle.setFontSize(48);
gateFieldTitle.setColor(ColorRGBA.Black); gateFieldTitle.setColor(ColorRGBA.Black);
// Text, der auf der Karte steht // Text, der im Popup steht
// Die Preise werden dynamisch dem BoardManager entnommen Container textContainer = bankruptContainer.addChild(new Container());
Container Container = bankruptContainer.addChild(new Container()); textContainer.addChild(new Label("Du hast noch einen negativen Kontostand. Wenn du jetzt deinen Zug beendest, gehst du Bankrott und verlierst das Spiel!", new ElementId("label-Text")));
Container.addChild(new Label("Du hast noch einen negativen Kontostand. Wenn du jetzt deinen Zug beendest, gehst du Bankrott und verlierst das Spiel!", new ElementId("label-Text"))); textContainer.setBackground(new QuadBackgroundComponent(new ColorRGBA(0.4657f, 0.4735f, 0.4892f, 1.0f)));
Container.setBackground(new QuadBackgroundComponent(new ColorRGBA(0.4657f, 0.4735f, 0.4892f, 1.0f)));
Container.setPreferredSize(bankruptContainer.getPreferredSize().addLocal(-250,-200,0)); // Passt den textContainer an die Größe des bankruptContainers an
textContainer.setPreferredSize(bankruptContainer.getPreferredSize().addLocal(-250,-200,0));
// Beenden-Button // Beenden-Button
Button quitButton = bankruptContainer.addChild(new Button("Bestätigen", new ElementId("button"))); Button quitButton = bankruptContainer.addChild(new Button("Bestätigen", new ElementId("button")));
@ -67,14 +67,14 @@ public class Bankrupt extends Dialog {
quitButton.addClickCommands(source -> close()); quitButton.addClickCommands(source -> close());
// Zentriere das Menü // Zentriere den Container
bankruptContainer.setLocalTranslation( bankruptContainer.setLocalTranslation(
(app.getCamera().getWidth() - bankruptContainer.getPreferredSize().x) / 2, (app.getCamera().getWidth() - bankruptContainer.getPreferredSize().x) / 2,
(app.getCamera().getHeight() + bankruptContainer.getPreferredSize().y) / 2, (app.getCamera().getHeight() + bankruptContainer.getPreferredSize().y) / 2,
8 8
); );
// Zentriere den Container
backgroundContainer.setLocalTranslation( backgroundContainer.setLocalTranslation(
(app.getCamera().getWidth() - bankruptContainer.getPreferredSize().x - padding) / 2, (app.getCamera().getWidth() - bankruptContainer.getPreferredSize().x - padding) / 2,
(app.getCamera().getHeight() + bankruptContainer.getPreferredSize().y+ padding) / 2, (app.getCamera().getHeight() + bankruptContainer.getPreferredSize().y+ padding) / 2,
@ -101,7 +101,7 @@ public class Bankrupt extends Dialog {
} }
/** /**
* Schließt das Menü und entfernt die GUI-Elemente. * Closes the menu and removes the GUI elements.
*/ */
@Override @Override
public void close() { public void close() {
@ -115,5 +115,4 @@ public class Bankrupt extends Dialog {
public void escape() { public void escape() {
close(); close();
} }
} }

View File

@ -17,7 +17,7 @@ import pp.monopoly.notification.Sound;
import static pp.monopoly.Resources.lookup; import static pp.monopoly.Resources.lookup;
/** /**
* TimeOut ist ein Overlay-Menü, welches aufgerufen wird, wenn die Verbindung zum Server unterbrochen wurde. * TimeOut is a warning popup that is triggered when the connection to the server is interrupted.
*/ */
public class TimeOut extends Dialog { public class TimeOut extends Dialog {
private final MonopolyApp app; private final MonopolyApp app;
@ -43,26 +43,24 @@ public class TimeOut extends Dialog {
// Hauptcontainer für die Gebäudekarte // Hauptcontainer für die Warnung
timeOutContainer = new Container(); timeOutContainer = new Container();
timeOutContainer.setBackground(new QuadBackgroundComponent(new ColorRGBA(0.8657f, 0.8735f, 0.8892f, 1.0f))); timeOutContainer.setBackground(new QuadBackgroundComponent(new ColorRGBA(0.8657f, 0.8735f, 0.8892f, 1.0f)));
timeOutContainer.setPreferredSize(new Vector3f(550,250,10)); timeOutContainer.setPreferredSize(new Vector3f(550,250,10));
float padding = 10; // Padding around the settingsContainer for the background float padding = 10; // Passt den backgroundContainer an die Größe des bankruptContainers an
backgroundContainer.setPreferredSize(timeOutContainer.getPreferredSize().addLocal(padding, padding, 0)); backgroundContainer.setPreferredSize(timeOutContainer.getPreferredSize().addLocal(padding, padding, 0));
// Titel // Titel
// Die Namen werden dynamisch dem BoardManager entnommen
Label gateFieldTitle = timeOutContainer.addChild(new Label("Vorsicht !", new ElementId("settings-title"))); //TODO dicke Schrift Label gateFieldTitle = timeOutContainer.addChild(new Label("Vorsicht !", new ElementId("settings-title"))); //TODO dicke Schrift
gateFieldTitle.setFontSize(48); gateFieldTitle.setFontSize(48);
gateFieldTitle.setColor(ColorRGBA.Black); gateFieldTitle.setColor(ColorRGBA.Black);
// Text, der auf der Karte steht // Text, der auf der Karte steht
// Die Preise werden dynamisch dem BoardManager entnommen Container textContainer = timeOutContainer.addChild(new Container());
Container propertyValuesContainer = timeOutContainer.addChild(new Container()); textContainer.addChild(new Label("Du hast die Verbindung verloren und kannst nichts dagegen machen. Akzeptiere einfach, dass du verloren hast!", new ElementId("label-Text")));
propertyValuesContainer.addChild(new Label("Du hast die Verbindung verloren und kannst nichts dagegen machen. Akzeptiere einfach, dass du verloren hast!", new ElementId("label-Text"))); textContainer.setBackground(new QuadBackgroundComponent(new ColorRGBA(0.4657f, 0.4735f, 0.4892f, 1.0f)));
propertyValuesContainer.setBackground(new QuadBackgroundComponent(new ColorRGBA(0.4657f, 0.4735f, 0.4892f, 1.0f))); textContainer.setPreferredSize(timeOutContainer.getPreferredSize().addLocal(-250,-200,0));
propertyValuesContainer.setPreferredSize(timeOutContainer.getPreferredSize().addLocal(-250,-200,0));
// Beenden-Button // Beenden-Button
Button quitButton = timeOutContainer.addChild(new Button("Bestätigen", new ElementId("button"))); Button quitButton = timeOutContainer.addChild(new Button("Bestätigen", new ElementId("button")));
@ -70,14 +68,14 @@ public class TimeOut extends Dialog {
quitButton.addClickCommands(source -> close()); quitButton.addClickCommands(source -> close());
// Zentriere das Menü // Zentriere den Container
timeOutContainer.setLocalTranslation( timeOutContainer.setLocalTranslation(
(app.getCamera().getWidth() - timeOutContainer.getPreferredSize().x) / 2, (app.getCamera().getWidth() - timeOutContainer.getPreferredSize().x) / 2,
(app.getCamera().getHeight() + timeOutContainer.getPreferredSize().y) / 2, (app.getCamera().getHeight() + timeOutContainer.getPreferredSize().y) / 2,
8 8
); );
// Zentriere den Container
backgroundContainer.setLocalTranslation( backgroundContainer.setLocalTranslation(
(app.getCamera().getWidth() - timeOutContainer.getPreferredSize().x - padding) / 2, (app.getCamera().getWidth() - timeOutContainer.getPreferredSize().x - padding) / 2,
(app.getCamera().getHeight() + timeOutContainer.getPreferredSize().y+ padding) / 2, (app.getCamera().getHeight() + timeOutContainer.getPreferredSize().y+ padding) / 2,