mirror of
				https://athene2.informatik.unibw-muenchen.de/progproj/gruppen-ht24/Gruppe-02.git
				synced 2025-11-04 09:36:14 +01:00 
			
		
		
		
	cleanup
This commit is contained in:
		@@ -3,7 +3,10 @@ package pp.monopoly.client.gui;
 | 
				
			|||||||
import com.jme3.math.ColorRGBA;
 | 
					import com.jme3.math.ColorRGBA;
 | 
				
			||||||
import com.jme3.math.Vector2f;
 | 
					import com.jme3.math.Vector2f;
 | 
				
			||||||
import com.jme3.math.Vector3f;
 | 
					import com.jme3.math.Vector3f;
 | 
				
			||||||
import com.simsilica.lemur.*;
 | 
					import com.simsilica.lemur.Axis;
 | 
				
			||||||
 | 
					import com.simsilica.lemur.Button;
 | 
				
			||||||
 | 
					import com.simsilica.lemur.Container;
 | 
				
			||||||
 | 
					import com.simsilica.lemur.Label;
 | 
				
			||||||
import com.simsilica.lemur.component.IconComponent;
 | 
					import com.simsilica.lemur.component.IconComponent;
 | 
				
			||||||
import com.simsilica.lemur.component.QuadBackgroundComponent;
 | 
					import com.simsilica.lemur.component.QuadBackgroundComponent;
 | 
				
			||||||
import com.simsilica.lemur.component.SpringGridLayout;
 | 
					import com.simsilica.lemur.component.SpringGridLayout;
 | 
				
			||||||
@@ -15,25 +18,22 @@ import pp.monopoly.game.server.Player;
 | 
				
			|||||||
import pp.monopoly.game.server.PlayerHandler;
 | 
					import pp.monopoly.game.server.PlayerHandler;
 | 
				
			||||||
import pp.monopoly.message.client.EndTurn;
 | 
					import pp.monopoly.message.client.EndTurn;
 | 
				
			||||||
import pp.monopoly.message.client.RollDice;
 | 
					import pp.monopoly.message.client.RollDice;
 | 
				
			||||||
import pp.monopoly.notification.DiceRollEvent;
 | 
					import pp.monopoly.notification.*;
 | 
				
			||||||
import pp.monopoly.notification.ButtonStatusEvent;
 | 
					 | 
				
			||||||
import pp.monopoly.notification.GameEventListener;
 | 
					 | 
				
			||||||
import pp.monopoly.notification.Sound;
 | 
					 | 
				
			||||||
import pp.monopoly.notification.UpdatePlayerView;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
public class Toolbar extends Dialog implements GameEventListener {
 | 
					public class Toolbar extends Dialog implements GameEventListener {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private final MonopolyApp app;
 | 
					    private final MonopolyApp app;
 | 
				
			||||||
    private final Container toolbarContainer;
 | 
					    private final Container toolbarContainer;
 | 
				
			||||||
    private Label imageLabel;
 | 
					 | 
				
			||||||
    private Label imageLabel2;
 | 
					 | 
				
			||||||
    private Container overviewContainer;
 | 
					    private Container overviewContainer;
 | 
				
			||||||
    private Container accountContainer;
 | 
					    private Container accountContainer;
 | 
				
			||||||
    private PlayerHandler playerHandler;
 | 
					    private PlayerHandler playerHandler;
 | 
				
			||||||
 | 
					    private Label imageLabel;
 | 
				
			||||||
 | 
					    private Label imageLabel2;
 | 
				
			||||||
    private Button diceButton;
 | 
					    private Button diceButton;
 | 
				
			||||||
    private Button tradeButton;
 | 
					    private Button tradeButton;
 | 
				
			||||||
    private Button propertyMenuButton;
 | 
					    private Button propertyMenuButton;
 | 
				
			||||||
    private Button endTurnButton;
 | 
					    private Button endTurnButton;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private volatile boolean animatingDice = false;
 | 
					    private volatile boolean animatingDice = false;
 | 
				
			||||||
    private volatile DiceRollEvent latestDiceRollEvent = null;
 | 
					    private volatile DiceRollEvent latestDiceRollEvent = null;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -42,52 +42,39 @@ public class Toolbar extends Dialog implements GameEventListener {
 | 
				
			|||||||
        this.app = app;
 | 
					        this.app = app;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        app.getGameLogic().addListener(this);
 | 
					        app.getGameLogic().addListener(this);
 | 
				
			||||||
        playerHandler = app.getGameLogic().getPlayerHandler();
 | 
					        this.playerHandler = app.getGameLogic().getPlayerHandler();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        // Erstelle die Toolbar
 | 
					        toolbarContainer = createToolbarContainer();
 | 
				
			||||||
        toolbarContainer = new Container(new SpringGridLayout(Axis.X, Axis.Y), "toolbar");
 | 
					        app.getGuiNode().attachChild(toolbarContainer);
 | 
				
			||||||
        toolbarContainer.setLocalTranslation(0, 200, 0);
 | 
					    }
 | 
				
			||||||
        toolbarContainer.setPreferredSize(new Vector3f(app.getCamera().getWidth(), 200, 0));
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
        // Account- und Übersichtskontainer
 | 
					    private Container createToolbarContainer() {
 | 
				
			||||||
        accountContainer = toolbarContainer.addChild(new Container());
 | 
					        Container container = new Container(new SpringGridLayout(Axis.X, Axis.Y), "toolbar");
 | 
				
			||||||
        overviewContainer = toolbarContainer.addChild(new Container());
 | 
					        container.setLocalTranslation(0, 200, 0);
 | 
				
			||||||
 | 
					        container.setPreferredSize(new Vector3f(app.getCamera().getWidth(), 200, 0));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // Create account and overview containers
 | 
				
			||||||
 | 
					        accountContainer = container.addChild(new Container());
 | 
				
			||||||
 | 
					        overviewContainer = container.addChild(new Container());
 | 
				
			||||||
        receivedEvent(new UpdatePlayerView());
 | 
					        receivedEvent(new UpdatePlayerView());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        overviewContainer.setBackground(new QuadBackgroundComponent(new ColorRGBA(0.4657f, 0.4735f, 0.4892f, 1.0f)));
 | 
					        // Dice section
 | 
				
			||||||
 | 
					        container.addChild(createDiceSection());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        // Würfelbereich
 | 
					        // Action menu
 | 
				
			||||||
        Container diceContainer = toolbarContainer.addChild(new Container());
 | 
					        Container menuContainer = container.addChild(new Container());
 | 
				
			||||||
        diceContainer.setLayout(new SpringGridLayout(Axis.X, Axis.Y));
 | 
					        menuContainer.addChild(createTradeButton());
 | 
				
			||||||
 | 
					        menuContainer.addChild(createPropertyMenuButton());
 | 
				
			||||||
 | 
					        menuContainer.addChild(createEndTurnButton());
 | 
				
			||||||
 | 
					        menuContainer.setBackground(createBackground());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        Container horizontalContainer = new Container(new SpringGridLayout(Axis.X, Axis.Y));
 | 
					        return container;
 | 
				
			||||||
        horizontalContainer.setPreferredSize(new Vector3f(200, 150, 0));
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        // Linker Würfel
 | 
					    private Container createDiceSection() {
 | 
				
			||||||
        Container leftContainer = new Container();
 | 
					        Container diceContainer = new Container(new SpringGridLayout(Axis.X, Axis.Y));
 | 
				
			||||||
        leftContainer.setPreferredSize(new Vector3f(100, 150, 0));
 | 
					        diceContainer.addChild(createDiceDisplay());
 | 
				
			||||||
        imageLabel = new Label("");
 | 
					 | 
				
			||||||
        IconComponent icon = new IconComponent("Pictures/dice/one.png");
 | 
					 | 
				
			||||||
        icon.setIconSize(new Vector2f(100, 100));
 | 
					 | 
				
			||||||
        imageLabel.setIcon(icon);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
        // Rechter Würfel
 | 
					 | 
				
			||||||
        Container rightContainer = new Container();
 | 
					 | 
				
			||||||
        rightContainer.setPreferredSize(new Vector3f(100, 150, 0));
 | 
					 | 
				
			||||||
        imageLabel2 = new Label("");
 | 
					 | 
				
			||||||
        IconComponent icon2 = new IconComponent("Pictures/dice/two.png");
 | 
					 | 
				
			||||||
        icon2.setIconSize(new Vector2f(100, 100));
 | 
					 | 
				
			||||||
        imageLabel2.setIcon(icon2);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        leftContainer.addChild(imageLabel);
 | 
					 | 
				
			||||||
        rightContainer.addChild(imageLabel2);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        horizontalContainer.addChild(leftContainer);
 | 
					 | 
				
			||||||
        horizontalContainer.addChild(rightContainer);
 | 
					 | 
				
			||||||
        diceContainer.addChild(horizontalContainer);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        // Würfeln-Button
 | 
					 | 
				
			||||||
        diceButton = new Button("Würfeln", new ElementId("button-toolbar"));
 | 
					        diceButton = new Button("Würfeln", new ElementId("button-toolbar"));
 | 
				
			||||||
        diceButton.setPreferredSize(new Vector3f(200, 50, 0));
 | 
					        diceButton.setPreferredSize(new Vector3f(200, 50, 0));
 | 
				
			||||||
        diceButton.addClickCommands(s -> ifTopDialog(() -> {
 | 
					        diceButton.addClickCommands(s -> ifTopDialog(() -> {
 | 
				
			||||||
@@ -98,17 +85,38 @@ public class Toolbar extends Dialog implements GameEventListener {
 | 
				
			|||||||
        }));
 | 
					        }));
 | 
				
			||||||
        diceContainer.addChild(diceButton);
 | 
					        diceContainer.addChild(diceButton);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        // Menü-Container für weitere Aktionen
 | 
					        return diceContainer;
 | 
				
			||||||
        Container menuContainer = toolbarContainer.addChild(new Container());
 | 
					 | 
				
			||||||
        menuContainer.addChild(addTradeMenuButton());
 | 
					 | 
				
			||||||
        menuContainer.addChild(addPropertyMenuButton());
 | 
					 | 
				
			||||||
        menuContainer.addChild(addEndTurnButton());
 | 
					 | 
				
			||||||
        menuContainer.setBackground(new QuadBackgroundComponent(new ColorRGBA(0.4657f, 0.4735f, 0.4892f, 1.0f)));
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        app.getGuiNode().attachChild(toolbarContainer);
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private Button addTradeMenuButton() {
 | 
					    private Container createDiceDisplay() {
 | 
				
			||||||
 | 
					        Container horizontalContainer = new Container(new SpringGridLayout(Axis.X, Axis.Y));
 | 
				
			||||||
 | 
					        horizontalContainer.setPreferredSize(new Vector3f(200, 150, 0));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        imageLabel = createDiceLabel("Pictures/dice/one.png");
 | 
				
			||||||
 | 
					        imageLabel2 = createDiceLabel("Pictures/dice/two.png");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        horizontalContainer.addChild(createDiceContainer(imageLabel));
 | 
				
			||||||
 | 
					        horizontalContainer.addChild(createDiceContainer(imageLabel2));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        return horizontalContainer;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private Label createDiceLabel(String iconPath) {
 | 
				
			||||||
 | 
					        Label label = new Label("");
 | 
				
			||||||
 | 
					        IconComponent icon = new IconComponent(iconPath);
 | 
				
			||||||
 | 
					        icon.setIconSize(new Vector2f(100, 100));
 | 
				
			||||||
 | 
					        label.setIcon(icon);
 | 
				
			||||||
 | 
					        return label;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private Container createDiceContainer(Label label) {
 | 
				
			||||||
 | 
					        Container container = new Container();
 | 
				
			||||||
 | 
					        container.setPreferredSize(new Vector3f(100, 150, 0));
 | 
				
			||||||
 | 
					        container.addChild(label);
 | 
				
			||||||
 | 
					        return container;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private Button createTradeButton() {
 | 
				
			||||||
        tradeButton = new Button("Handeln", new ElementId("button-toolbar"));
 | 
					        tradeButton = new Button("Handeln", new ElementId("button-toolbar"));
 | 
				
			||||||
        tradeButton.setPreferredSize(new Vector3f(150, 50, 0));
 | 
					        tradeButton.setPreferredSize(new Vector3f(150, 50, 0));
 | 
				
			||||||
        tradeButton.addClickCommands(s -> ifTopDialog(() -> {
 | 
					        tradeButton.addClickCommands(s -> ifTopDialog(() -> {
 | 
				
			||||||
@@ -118,19 +126,18 @@ public class Toolbar extends Dialog implements GameEventListener {
 | 
				
			|||||||
        return tradeButton;
 | 
					        return tradeButton;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private Button addPropertyMenuButton() {
 | 
					    private Button createPropertyMenuButton() {
 | 
				
			||||||
        propertyMenuButton = new Button("Grundstücke", new ElementId("button-toolbar"));
 | 
					        propertyMenuButton = new Button("Grundstücke", new ElementId("button-toolbar"));
 | 
				
			||||||
        propertyMenuButton.setPreferredSize(new Vector3f(150, 50, 0));
 | 
					        propertyMenuButton.setPreferredSize(new Vector3f(150, 50, 0));
 | 
				
			||||||
        propertyMenuButton.setFontSize(30);
 | 
					        propertyMenuButton.setFontSize(30);
 | 
				
			||||||
        propertyMenuButton.addClickCommands(s -> ifTopDialog(() -> {
 | 
					        propertyMenuButton.addClickCommands(s -> ifTopDialog(() -> {
 | 
				
			||||||
            app.getGameLogic().playSound(Sound.BUTTON);
 | 
					            app.getGameLogic().playSound(Sound.BUTTON);
 | 
				
			||||||
           // new BuildingAdminMenu(app).open();
 | 
					 | 
				
			||||||
            new PropertyOverviewMenu(app).open();
 | 
					            new PropertyOverviewMenu(app).open();
 | 
				
			||||||
        }));
 | 
					        }));
 | 
				
			||||||
        return propertyMenuButton;
 | 
					        return propertyMenuButton;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private Button addEndTurnButton() {
 | 
					    private Button createEndTurnButton() {
 | 
				
			||||||
        endTurnButton = new Button("Zug beenden", new ElementId("button-toolbar"));
 | 
					        endTurnButton = new Button("Zug beenden", new ElementId("button-toolbar"));
 | 
				
			||||||
        endTurnButton.setPreferredSize(new Vector3f(150, 50, 0));
 | 
					        endTurnButton.setPreferredSize(new Vector3f(150, 50, 0));
 | 
				
			||||||
        endTurnButton.addClickCommands(s -> ifTopDialog(() -> {
 | 
					        endTurnButton.addClickCommands(s -> ifTopDialog(() -> {
 | 
				
			||||||
@@ -141,77 +148,78 @@ public class Toolbar extends Dialog implements GameEventListener {
 | 
				
			|||||||
        return endTurnButton;
 | 
					        return endTurnButton;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private QuadBackgroundComponent createBackground() {
 | 
				
			||||||
 | 
					        return new QuadBackgroundComponent(new ColorRGBA(0.4657f, 0.4735f, 0.4892f, 1.0f));
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private void startDiceAnimation() {
 | 
					    private void startDiceAnimation() {
 | 
				
			||||||
        animatingDice = true;
 | 
					        animatingDice = true;
 | 
				
			||||||
 | 
					 | 
				
			||||||
        // Starte die Animation und speichere die Startzeit
 | 
					 | 
				
			||||||
        long startTime = System.currentTimeMillis();
 | 
					        long startTime = System.currentTimeMillis();
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
        Thread diceAnimation = new Thread(() -> {
 | 
					        new Thread(() -> {
 | 
				
			||||||
            int[] currentFace = {1};
 | 
					 | 
				
			||||||
            try {
 | 
					            try {
 | 
				
			||||||
                while (System.currentTimeMillis() - startTime < 2500) { // Animation läuft für 4 Sekunden
 | 
					                animateDice(startTime);
 | 
				
			||||||
                    currentFace[0] = (currentFace[0] % 6) + 1;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                    String rotatingImage1 = diceToString(currentFace[0]);
 | 
					 | 
				
			||||||
                    String rotatingImage2 = diceToString((currentFace[0] % 6) + 1);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                    IconComponent newIcon1 = new IconComponent(rotatingImage1);
 | 
					 | 
				
			||||||
                    newIcon1.setIconSize(new Vector2f(100, 100));
 | 
					 | 
				
			||||||
                    app.enqueue(() -> imageLabel.setIcon(newIcon1));
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                    IconComponent newIcon2 = new IconComponent(rotatingImage2);
 | 
					 | 
				
			||||||
                    newIcon2.setIconSize(new Vector2f(100, 100));
 | 
					 | 
				
			||||||
                    app.enqueue(() -> imageLabel2.setIcon(newIcon2));
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                    // Warte 100 ms, bevor die Bilder wechseln
 | 
					 | 
				
			||||||
                    Thread.sleep(100);
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                // Animation beenden
 | 
					 | 
				
			||||||
                animatingDice = false;
 | 
					                animatingDice = false;
 | 
				
			||||||
 | 
					 | 
				
			||||||
                // Zeige das finale Ergebnis
 | 
					 | 
				
			||||||
                if (latestDiceRollEvent != null) {
 | 
					                if (latestDiceRollEvent != null) {
 | 
				
			||||||
                    showFinalDiceResult(latestDiceRollEvent);
 | 
					                    showFinalDiceResult(latestDiceRollEvent);
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
 | 
					 | 
				
			||||||
            } catch (InterruptedException e) {
 | 
					            } catch (InterruptedException e) {
 | 
				
			||||||
                System.err.println("Würfelanimation unterbrochen: " + e.getMessage());
 | 
					                System.err.println("Dice animation interrupted: " + e.getMessage());
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        });
 | 
					        }).start();
 | 
				
			||||||
        diceAnimation.start();
 | 
					    }
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    private void animateDice(long startTime) throws InterruptedException {
 | 
				
			||||||
 | 
					        int[] currentFace = {1};
 | 
				
			||||||
 | 
					        while (System.currentTimeMillis() - startTime < 2500) { // Animation duration
 | 
				
			||||||
 | 
					            currentFace[0] = (currentFace[0] % 6) + 1;
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					            String rotatingImage1 = diceToString(currentFace[0]);
 | 
				
			||||||
 | 
					            String rotatingImage2 = diceToString((currentFace[0] % 6) + 1);
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					            app.enqueue(() -> {
 | 
				
			||||||
 | 
					                setDiceIcon(imageLabel, rotatingImage1);
 | 
				
			||||||
 | 
					                setDiceIcon(imageLabel2, rotatingImage2);
 | 
				
			||||||
 | 
					            });
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					            Thread.sleep(100); // Time between frame updates
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    private void showFinalDiceResult(DiceRollEvent event) {
 | 
					    private void showFinalDiceResult(DiceRollEvent event) {
 | 
				
			||||||
        int diceRoll1 = event.a();
 | 
					        app.enqueue(() -> {
 | 
				
			||||||
        int diceRoll2 = event.b();
 | 
					            setDiceIcon(imageLabel, diceToString(event.a()));
 | 
				
			||||||
 | 
					            setDiceIcon(imageLabel2, diceToString(event.b()));
 | 
				
			||||||
 | 
					            app.getGameLogic().playSound(Sound.BUTTON);
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
        String finalImage1 = diceToString(diceRoll1);
 | 
					    private void setDiceIcon(Label label, String imagePath) {
 | 
				
			||||||
        String finalImage2 = diceToString(diceRoll2);
 | 
					        IconComponent icon = new IconComponent(imagePath);
 | 
				
			||||||
 | 
					        icon.setIconSize(new Vector2f(80, 80)); // Set consistent dice size
 | 
				
			||||||
 | 
					        label.setIcon(icon);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
        IconComponent finalIcon1 = new IconComponent(finalImage1);
 | 
					 | 
				
			||||||
        finalIcon1.setIconSize(new Vector2f(100, 100));
 | 
					 | 
				
			||||||
        app.enqueue(() -> imageLabel.setIcon(finalIcon1));
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
        IconComponent finalIcon2 = new IconComponent(finalImage2);
 | 
					    private String diceToString(int i) {
 | 
				
			||||||
        finalIcon2.setIconSize(new Vector2f(100, 100));
 | 
					        switch (i) {
 | 
				
			||||||
        app.enqueue(() -> imageLabel2.setIcon(finalIcon2));
 | 
					            case 1: return "Pictures/dice/one.png";
 | 
				
			||||||
 | 
					            case 2: return "Pictures/dice/two.png";
 | 
				
			||||||
        app.getGameLogic().playSound(Sound.BUTTON);
 | 
					            case 3: return "Pictures/dice/three.png";
 | 
				
			||||||
 | 
					            case 4: return "Pictures/dice/four.png";
 | 
				
			||||||
 | 
					            case 5: return "Pictures/dice/five.png";
 | 
				
			||||||
 | 
					            case 6: return "Pictures/dice/six.png";
 | 
				
			||||||
 | 
					            default: throw new IllegalArgumentException("Invalid dice number: " + i);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
    public void receivedEvent(DiceRollEvent event) {
 | 
					    public void receivedEvent(DiceRollEvent event) {
 | 
				
			||||||
        latestDiceRollEvent = event; // Speichere das Event
 | 
					        latestDiceRollEvent = event;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
    public void receivedEvent(UpdatePlayerView event) {
 | 
					    public void receivedEvent(UpdatePlayerView event) {
 | 
				
			||||||
        playerHandler = app.getGameLogic().getPlayerHandler();
 | 
					 | 
				
			||||||
        System.err.println("Update Player View");
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        // Clear existing accountContainer and overviewContainer content
 | 
					 | 
				
			||||||
        accountContainer.clearChildren();
 | 
					        accountContainer.clearChildren();
 | 
				
			||||||
        overviewContainer.clearChildren();
 | 
					        overviewContainer.clearChildren();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -225,7 +233,7 @@ public class Toolbar extends Dialog implements GameEventListener {
 | 
				
			|||||||
                playerHandler.getPlayerById(app.getId()).getNumJailCard() + "",
 | 
					                playerHandler.getPlayerById(app.getId()).getNumJailCard() + "",
 | 
				
			||||||
                new ElementId("label-Text")
 | 
					                new ElementId("label-Text")
 | 
				
			||||||
        ));
 | 
					        ));
 | 
				
			||||||
        accountContainer.setBackground(new QuadBackgroundComponent(new ColorRGBA(0.4657f, 0.4735f, 0.4892f, 1.0f)));
 | 
					        accountContainer.setBackground(createBackground());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        overviewContainer.addChild(new Label("Übersicht", new ElementId("label-Bold")));
 | 
					        overviewContainer.addChild(new Label("Übersicht", new ElementId("label-Bold")));
 | 
				
			||||||
        for (Player player : playerHandler.getPlayers()) {
 | 
					        for (Player player : playerHandler.getPlayers()) {
 | 
				
			||||||
@@ -236,26 +244,16 @@ public class Toolbar extends Dialog implements GameEventListener {
 | 
				
			|||||||
                ));
 | 
					                ));
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        overviewContainer.setBackground(new QuadBackgroundComponent(new ColorRGBA(0.4657f, 0.4735f, 0.4892f, 1.0f)));
 | 
					        overviewContainer.setBackground(createBackground());
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private String diceToString(int i) {
 | 
					    @Override
 | 
				
			||||||
        switch (i) {
 | 
					    public void receivedEvent(ButtonStatusEvent event) {
 | 
				
			||||||
            case 1:
 | 
					        boolean enabled = event.buttonsEnabled();
 | 
				
			||||||
                return "Pictures/dice/one.png";
 | 
					        diceButton.setEnabled(enabled);
 | 
				
			||||||
            case 2:
 | 
					        tradeButton.setEnabled(enabled);
 | 
				
			||||||
                return "Pictures/dice/two.png";
 | 
					        propertyMenuButton.setEnabled(enabled);
 | 
				
			||||||
            case 3:
 | 
					        endTurnButton.setEnabled(enabled);
 | 
				
			||||||
                return "Pictures/dice/three.png";
 | 
					 | 
				
			||||||
            case 4:
 | 
					 | 
				
			||||||
                return "Pictures/dice/four.png";
 | 
					 | 
				
			||||||
            case 5:
 | 
					 | 
				
			||||||
                return "Pictures/dice/five.png";
 | 
					 | 
				
			||||||
            case 6:
 | 
					 | 
				
			||||||
                return "Pictures/dice/six.png";
 | 
					 | 
				
			||||||
            default:
 | 
					 | 
				
			||||||
                throw new IllegalArgumentException("Invalid dice number: " + i);
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
@@ -268,12 +266,4 @@ public class Toolbar extends Dialog implements GameEventListener {
 | 
				
			|||||||
    public void escape() {
 | 
					    public void escape() {
 | 
				
			||||||
        new SettingsMenu(app).open();
 | 
					        new SettingsMenu(app).open();
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					 | 
				
			||||||
    @Override
 | 
					 | 
				
			||||||
    public void receivedEvent(ButtonStatusEvent event) {
 | 
					 | 
				
			||||||
        propertyMenuButton.setEnabled(event.buttonsEnabled());
 | 
					 | 
				
			||||||
        diceButton.setEnabled(event.buttonsEnabled());
 | 
					 | 
				
			||||||
        endTurnButton.setEnabled(event.buttonsEnabled());
 | 
					 | 
				
			||||||
        tradeButton.setEnabled(event.buttonsEnabled());
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user