Merge remote-tracking branch 'origin/master'

This commit is contained in:
Jonas 2022-05-13 10:57:48 +02:00
commit 92f5568f1d
11 changed files with 341 additions and 109 deletions

View File

@ -2,3 +2,4 @@ B
serai
serai
Jonas of Istanbul
serai

View File

@ -0,0 +1,25 @@
package ch.unibas.dmi.dbis.cs108.multiplayer.client.gui;
import javafx.animation.Interpolator;
import javafx.animation.Transition;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.util.Duration;
public class BGAnimation extends Transition {
ImageView imageView;
private static final Image bgFull = new Image("ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/game/Day/BG_small.jpg");
BGAnimation(Duration duration, ImageView imageView) {
this.imageView = imageView;
setCycleDuration(duration);
setInterpolator(Interpolator.DISCRETE);
}
@Override
protected void interpolate(double frac) {
}
}

View File

@ -10,6 +10,7 @@ import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.image.ImageView;
import javafx.scene.layout.AnchorPane;
import javafx.scene.layout.StackPane;
import javafx.util.Duration;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@ -18,6 +19,8 @@ public class TrainAnimationDayController implements Initializable {
public static final Logger LOGGER = LogManager.getLogger(TrainAnimationDayController.class);
public static final BudaLogConfig l = new BudaLogConfig(LOGGER);
@FXML
private ImageView backGroundAnimationImageView;
@FXML
private ImageView wheelsImageView;
@FXML
@ -35,8 +38,11 @@ public class TrainAnimationDayController implements Initializable {
@FXML
private ImageView lokiImageView;
private ChatApp chatApp;
private static ChatApp cApp;
private static AnchorPane gamePane;
private static ImageView loki;
public TrainAnimationDayController(){
super();
@ -55,16 +61,68 @@ public class TrainAnimationDayController implements Initializable {
TrainAnimationDayController.cApp = cApp;
}
public AnchorPane getGameAnchorPane() {
return gameAnchorPane;
}
public ImageView getWagonFullImageView() {
return wagonFullImageView;
}
@Override
public void initialize(URL location, ResourceBundle resources) {
LoungeSceneViewController.setTrainAnimationDayController(this);
LOGGER.debug(cApp);
setChatApp(cApp);
LOGGER.debug(gameAnchorPane);
gamePane = gameAnchorPane;
loki = lokiImageView;
Platform.runLater(new Runnable() {
@Override
public void run() {
Animation wheels = new WheelsAnimation(Duration.millis(1000), wheelsImageView);
Animation wheels = new WheelsAnimation(Duration.millis(866.666), wheelsImageView);
wheels.setCycleCount(Animation.INDEFINITE);
wheels.play();
}
});
}
/**
* Adds the gameView to the existing LobbyView
*/
public void addGameView(ChatApp c) {
Platform.runLater(new Runnable() {
@Override
public void run() {
try {
TrainAnimationDayController controller = new TrainAnimationDayController();
LOGGER.debug(gamePane);
LOGGER.debug(loki);
LOGGER.debug(cApp);
gameAnchorPane.getChildren().add(c.game);
wagonFullImageView.setVisible(false);
} catch (Exception e) {
LOGGER.debug("Not yet initialized");
e.printStackTrace();
}
}
});
}
/**
* Removes the GameView again - needed when a game is over or a lobby is left
*/
public void removeGameView(ChatApp c) {
Platform.runLater(new Runnable() {
@Override
public void run() {
try {
gameAnchorPane.getChildren().clear();
wagonFullImageView.setVisible(true);
} catch (Exception e) {
LOGGER.debug("Not yet initialized");
}
}
});
}
}

View File

@ -12,6 +12,10 @@ import javafx.util.Duration;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
/**
* This class animates the wheels from the train from sprites
*/
public class WheelsAnimation extends Transition {
public static final Logger LOGGER = LogManager.getLogger(WheelsAnimation.class);
public static final BudaLogConfig l = new BudaLogConfig(LOGGER);
@ -24,7 +28,7 @@ public class WheelsAnimation extends Transition {
WheelsAnimation(Duration duration, ImageView imageView) {
this.imageView = imageView;
setCycleDuration(duration);
setInterpolator(Interpolator.LINEAR);
setInterpolator(Interpolator.DISCRETE);
index = 1;
wheels[0] = new Image("ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/game/Day/Wheels/Image0001.png");
wheels[1] = new Image("ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/game/Day/Wheels/Image0002.png");

View File

@ -36,7 +36,6 @@ public class GameController implements Initializable {
private static GameStateModel gameStateModel;
public GameController() {
super();
}
@ -59,6 +58,18 @@ public class GameController implements Initializable {
return gameStateModel;
}
@FXML
private ImageView room0ImageView;
@FXML
private ImageView room1ImageView;
@FXML
private ImageView room2ImageView;
@FXML
private ImageView room3ImageView;
@FXML
private ImageView room4ImageView;
@FXML
private ImageView room5ImageView;
@FXML
private AnchorPane gameBG;
@FXML
@ -128,6 +139,24 @@ public class GameController implements Initializable {
.sendMsgToServer(Protocol.votedFor + "$" + client.getClient().getPosition() + "$" + 0);
}
public void moveRoom0Up() {
Platform.runLater(new Runnable() {
@Override
public void run() {
room0ImageView.setY(-20);
}
});
}
public void moveRoom0Down() {
Platform.runLater(new Runnable() {
@Override
public void run() {
room0ImageView.setY(0);
}
});
}
/**
* If button 1 is clicked, send the vote message 0 to the server
*/
@ -135,6 +164,23 @@ public class GameController implements Initializable {
client.getClient()
.sendMsgToServer(Protocol.votedFor + "$" + client.getClient().getPosition() + "$" + 1);
}
public void moveRoom1Up() {
Platform.runLater(new Runnable() {
@Override
public void run() {
room1ImageView.setY(-20);
}
});
}
public void moveRoom1Down() {
Platform.runLater(new Runnable() {
@Override
public void run() {
room1ImageView.setY(0);
}
});
}
/**
* If button 2 is clicked, send the vote message 0 to the server
@ -144,6 +190,24 @@ public class GameController implements Initializable {
.sendMsgToServer(Protocol.votedFor + "$" + client.getClient().getPosition() + "$" + 2);
}
public void moveRoom2Up() {
Platform.runLater(new Runnable() {
@Override
public void run() {
room2ImageView.setY(-20);
}
});
}
public void moveRoom2Down() {
Platform.runLater(new Runnable() {
@Override
public void run() {
room2ImageView.setY(0);
}
});
}
/**
* If button 3 is clicked, send the vote message 0 to the server
*/
@ -151,6 +215,23 @@ public class GameController implements Initializable {
client.getClient()
.sendMsgToServer(Protocol.votedFor + "$" + client.getClient().getPosition() + "$" + 3);
}
public void moveRoom3Up() {
Platform.runLater(new Runnable() {
@Override
public void run() {
room3ImageView.setY(-20);
}
});
}
public void moveRoom3Down() {
Platform.runLater(new Runnable() {
@Override
public void run() {
room3ImageView.setY(0);
}
});
}
/**
* If button 4 is clicked, send the vote message 0 to the server
@ -159,6 +240,23 @@ public class GameController implements Initializable {
client.getClient()
.sendMsgToServer(Protocol.votedFor + "$" + client.getClient().getPosition() + "$" + 4);
}
public void moveRoom4Up() {
Platform.runLater(new Runnable() {
@Override
public void run() {
room4ImageView.setY(-20);
}
});
}
public void moveRoom4Down() {
Platform.runLater(new Runnable() {
@Override
public void run() {
room4ImageView.setY(0);
}
});
}
/**
* If button 5 is clicked, send the vote message 0 to the server
@ -167,6 +265,23 @@ public class GameController implements Initializable {
client.getClient()
.sendMsgToServer(Protocol.votedFor + "$" + client.getClient().getPosition() + "$" + 5);
}
public void moveRoom5Up() {
Platform.runLater(new Runnable() {
@Override
public void run() {
room5ImageView.setY(-20);
}
});
}
public void moveRoom5Down() {
Platform.runLater(new Runnable() {
@Override
public void run() {
room5ImageView.setY(0);
}
});
}
/**
* Sends a noise message, to the server, should be a gui message?

View File

@ -97,6 +97,7 @@ public class LoungeSceneViewController implements Initializable {
public static ClientModel client;
private static ChatApp chatApp;
private ChatApp cApp;
private static TrainAnimationDayController trainAnimationDayController;
ObservableList<ClientListItem> clients = FXCollections.observableArrayList();
ObservableList<LobbyListItem> lobbies = FXCollections.observableArrayList();
@ -119,6 +120,15 @@ public class LoungeSceneViewController implements Initializable {
this.cApp = cApp;
}
public static void setTrainAnimationDayController(
TrainAnimationDayController trainAnimationDayController) {
LoungeSceneViewController.trainAnimationDayController = trainAnimationDayController;
}
public static TrainAnimationDayController getTrainAnimationDayController() {
return trainAnimationDayController;
}
/**
* Called to initialize a controller after its root element has been completely processed.
*
@ -141,7 +151,9 @@ public class LoungeSceneViewController implements Initializable {
ClientListView.setItems(clients);
addChatView();
addBackgroundDay();
TrainAnimationDayController.setcApp(this.cApp);
LOGGER.debug("cApp = " + cApp);
LOGGER.debug("chatApp = " + chatApp);
TrainAnimationDayController.setcApp(cApp);
ClientListView.setItems(clients);
ClientListView.setCellFactory(param -> {
@ -321,13 +333,15 @@ public class LoungeSceneViewController implements Initializable {
* Adds the gameView to the existing LobbyView
*/
public void addGameView() {
Platform.runLater(new Runnable() {
@Override
public void run() {
try {
LOGGER.debug(" in addGameView()" + chatApp);
newGameButton.setVisible(false);
startGame.setVisible(false);
gameAnchorPane.getChildren().add(chatApp.game);
trainAnimationDayController.addGameView(chatApp);
} catch (Exception e) {
LOGGER.debug("Not yet initialized");
}
@ -345,7 +359,7 @@ public class LoungeSceneViewController implements Initializable {
try {
newGameButton.setVisible(true);
startGame.setVisible(true);
gameAnchorPane.getChildren().clear();
trainAnimationDayController.removeGameView(chatApp);
} catch (Exception e) {
LOGGER.debug("Not yet initialized");
}

View File

@ -3,39 +3,49 @@
<?import javafx.scene.image.Image?>
<?import javafx.scene.image.ImageView?>
<?import javafx.scene.layout.AnchorPane?>
<?import javafx.scene.layout.StackPane?>
<StackPane maxHeight="1080.0" maxWidth="1920.0" minHeight="-Infinity" minWidth="-Infinity" stylesheets="@TrainAnimationDay.css" xmlns="http://javafx.com/javafx/18" xmlns:fx="http://javafx.com/fxml/1" fx:controller="ch.unibas.dmi.dbis.cs108.multiplayer.client.gui.TrainAnimationDayController">
<AnchorPane pickOnBounds="false" prefHeight="200.0" prefWidth="200.0" xmlns="http://javafx.com/javafx/18" xmlns:fx="http://javafx.com/fxml/1" fx:controller="ch.unibas.dmi.dbis.cs108.multiplayer.client.gui.TrainAnimationDayController">
<children>
<ImageView fx:id="shadowTrain" fitHeight="843.75" fitWidth="1500.0" pickOnBounds="true" preserveRatio="true">
<AnchorPane pickOnBounds="false" prefHeight="200.0" prefWidth="200.0">
<children>
<ImageView fx:id="backGroundAnimationImageView" fitHeight="843.75" fitWidth="1500.0" preserveRatio="true" />
</children>
</AnchorPane>
<ImageView fx:id="shadowTrain" fitHeight="843.75" fitWidth="1500.0" preserveRatio="true">
<image>
<Image url="@game/Day/Shadow_Below_Train.png" />
</image>
</ImageView>
<ImageView fx:id="wagonBGImageView" fitHeight="843.75" fitWidth="1500.0" pickOnBounds="true" preserveRatio="true">
<ImageView fx:id="wagonBGImageView" fitHeight="843.75" fitWidth="1500.0" preserveRatio="true">
<image>
<Image url="@game/Day/Second_Wagon.png" />
</image>
</ImageView>
<ImageView fx:id="wagonFloorImageView" fitHeight="843.75" fitWidth="1500.0" pickOnBounds="true" preserveRatio="true">
<ImageView fx:id="wagonFloorImageView" fitHeight="843.75" fitWidth="1500.0" preserveRatio="true">
<image>
<Image url="@game/Day/Empty_Wagon.png" />
</image>
</ImageView>
<AnchorPane fx:id="gameAnchorPane" />
<ImageView fx:id="wagonFullImageView" fitHeight="843.75" fitWidth="1500.0" pickOnBounds="true" preserveRatio="true">
<AnchorPane fx:id="gameAnchorPane" pickOnBounds="false" />
<ImageView fx:id="wagonWallImageView" fitHeight="843.75" fitWidth="1500.0" mouseTransparent="true" preserveRatio="true">
<image>
<Image url="@game/Day/Empty_Wagon_Wall.png" />
</image>
</ImageView>
<ImageView fx:id="wagonFullImageView" fitHeight="843.75" fitWidth="1500.0" preserveRatio="true">
<image>
<Image url="@game/Day/Full_Wagon.png" />
</image>
</ImageView>
<ImageView fx:id="lokiImageView" fitHeight="843.75" fitWidth="1500.0" pickOnBounds="true" preserveRatio="true">
<ImageView fx:id="lokiImageView" fitHeight="843.75" fitWidth="1500.0" preserveRatio="true">
<image>
<Image url="@game/Day/Loki.png" />
</image>
</ImageView>
<AnchorPane fx:id="wheelsAnchorPane">
<AnchorPane fx:id="wheelsAnchorPane" mouseTransparent="true" pickOnBounds="false">
<children>
<ImageView fx:id="wheelsImageView" fitHeight="843.75" fitWidth="1500.0" pickOnBounds="true" preserveRatio="true" />
</children></AnchorPane>
<ImageView fx:id="wheelsImageView" fitHeight="843.75" fitWidth="1500.0" preserveRatio="true" />
</children>
</AnchorPane>
</children>
</StackPane>
</AnchorPane>

View File

@ -3,12 +3,21 @@
}
.button{
-fx-background-color: transparent;
-fx-border-color: transparent;
}
#noiseButton{
-fx-background-color: midnightblue;
-fx-text-fill: lightgrey;
}
#roomButtonGroup{
-fx-background-color: transparent;
}
.text-field{
-fx-text-fill: white;
-fx-background-color: transparent;

View File

@ -9,92 +9,50 @@
<?import javafx.scene.text.Font?>
<?import javafx.scene.text.TextFlow?>
<AnchorPane id="BG" fx:id="gameBG" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" styleClass="theme" stylesheets="@GameDay.css" xmlns="http://javafx.com/javafx/18" xmlns:fx="http://javafx.com/fxml/1" fx:controller="ch.unibas.dmi.dbis.cs108.multiplayer.client.gui.game.GameController">
<AnchorPane id="BG" fx:id="gameBG" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" pickOnBounds="false" prefHeight="843.75" prefWidth="1500.0" styleClass="theme" stylesheets="@GameDay.css" xmlns="http://javafx.com/javafx/18" xmlns:fx="http://javafx.com/fxml/1" fx:controller="ch.unibas.dmi.dbis.cs108.multiplayer.client.gui.game.GameController">
<children>
<Group fx:id="roomButtonGroupDay" layoutX="230.5" layoutY="220.0">
<ImageView fx:id="room0ImageView" fitHeight="843.75" fitWidth="1500.0" preserveRatio="true">
<image>
<Image url="@Day/Room1.png" />
</image>
</ImageView>
<ImageView fx:id="room1ImageView" fitHeight="843.75" fitWidth="1500.0" preserveRatio="true">
<image>
<Image url="@Day/Room2.png" />
</image>
</ImageView>
<ImageView fx:id="room2ImageView" fitHeight="843.75" fitWidth="1500.0" preserveRatio="true">
<image>
<Image url="@Day/Room3.png" />
</image>
</ImageView>
<ImageView fx:id="room3ImageView" fitHeight="843.75" fitWidth="1500.0" preserveRatio="true">
<image>
<Image url="@Day/Room4.png" />
</image>
</ImageView>
<ImageView fx:id="room4ImageView" fitHeight="843.75" fitWidth="1500.0" preserveRatio="true">
<image>
<Image url="@Day/Room5.png" />
</image>
</ImageView>
<ImageView fx:id="room5ImageView" fitHeight="843.75" fitWidth="1500.0" preserveRatio="true">
<image>
<Image url="@Day/Room6.png" />
</image>
</ImageView>
<Group fx:id="roomButtonGroupDay" layoutX="288.0" layoutY="220.0">
<children>
<HBox fx:id="notificationHBox" layoutX="20.0" layoutY="-55.0" rotate="12.4">
<HBox fx:id="notificationHBox" layoutX="20.0" layoutY="-55.0" pickOnBounds="false" rotate="12.4">
<children>
<ImageView fx:id="noiseImage0" fitHeight="150.0" fitWidth="125.0" pickOnBounds="true" preserveRatio="true" rotate="-12.4" />
<ImageView fx:id="noiseImage1" fitHeight="150.0" fitWidth="125.0" pickOnBounds="true" preserveRatio="true" rotate="-12.4" />
<ImageView fx:id="noiseImage2" fitHeight="150.0" fitWidth="125.0" pickOnBounds="true" preserveRatio="true" rotate="-12.4" />
<ImageView fx:id="noiseImage3" fitHeight="150.0" fitWidth="125.0" pickOnBounds="true" preserveRatio="true" rotate="-12.4" />
<ImageView fx:id="noiseImage4" fitHeight="150.0" fitWidth="125.0" pickOnBounds="true" preserveRatio="true" rotate="-12.4" />
<ImageView fx:id="noiseImage5" fitHeight="150.0" fitWidth="125.0" pickOnBounds="true" preserveRatio="true" rotate="-12.4" />
<ImageView fx:id="noiseImage0" fitHeight="150.0" fitWidth="125.0" preserveRatio="true" rotate="-12.4" />
<ImageView fx:id="noiseImage1" fitHeight="150.0" fitWidth="125.0" preserveRatio="true" rotate="-12.4" />
<ImageView fx:id="noiseImage2" fitHeight="150.0" fitWidth="125.0" preserveRatio="true" rotate="-12.4" />
<ImageView fx:id="noiseImage3" fitHeight="150.0" fitWidth="125.0" preserveRatio="true" rotate="-12.4" />
<ImageView fx:id="noiseImage4" fitHeight="150.0" fitWidth="125.0" preserveRatio="true" rotate="-12.4" />
<ImageView fx:id="noiseImage5" fitHeight="150.0" fitWidth="125.0" preserveRatio="true" rotate="-12.4" />
</children>
</HBox>
<Button id="room1" fx:id="buttonRoom0" accessibleRole="RADIO_BUTTON" alignment="TOP_CENTER" contentDisplay="GRAPHIC_ONLY" layoutX="21.5" minWidth="-Infinity" mnemonicParsing="false" onAction="#sendVote0" prefHeight="110.0" prefWidth="90.0" text="room0">
<font>
<Font size="25.0" />
</font>
<graphic>
<ImageView fitHeight="145.24" fitWidth="217.6" pickOnBounds="true" preserveRatio="true">
<image>
<Image url="@DayOpen/room1button.png" />
</image>
</ImageView>
</graphic>
</Button>
<Button id="room1" fx:id="buttonRoom1" accessibleRole="RADIO_BUTTON" alignment="CENTER" contentDisplay="GRAPHIC_ONLY" layoutX="145.0" layoutY="26.0" minWidth="-Infinity" mnemonicParsing="false" onAction="#sendVote1" prefHeight="101.0" prefWidth="90.0" text="room1">
<font>
<Font size="25.0" />
</font>
<graphic>
<ImageView fitHeight="145.236" fitWidth="217.6" pickOnBounds="true" preserveRatio="true">
<image>
<Image url="@DayOpen/room2button.png" />
</image>
</ImageView>
</graphic>
</Button>
<Button id="room1" fx:id="buttonRoom2" accessibleRole="RADIO_BUTTON" alignment="CENTER" contentDisplay="GRAPHIC_ONLY" layoutX="268.5" layoutY="52.0" minWidth="-Infinity" mnemonicParsing="false" onAction="#sendVote2" prefHeight="110.0" prefWidth="90.0" text="room2">
<font>
<Font size="25.0" />
</font>
<graphic>
<ImageView fitHeight="145.24" fitWidth="217.6" pickOnBounds="true" preserveRatio="true">
<image>
<Image url="@DayOpen/room3button.png" />
</image>
</ImageView>
</graphic>
</Button>
<Button id="room1" fx:id="buttonRoom3" accessibleRole="RADIO_BUTTON" alignment="CENTER" contentDisplay="GRAPHIC_ONLY" layoutX="392.0" layoutY="78.0" minWidth="-Infinity" mnemonicParsing="false" onAction="#sendVote3" prefHeight="110.0" prefWidth="90.0" text="room3">
<font>
<Font size="25.0" />
</font>
<graphic>
<ImageView fitHeight="145.24" fitWidth="217.6" pickOnBounds="true" preserveRatio="true">
<image>
<Image url="@DayOpen/room4button.png" />
</image>
</ImageView>
</graphic>
</Button>
<Button id="room1" fx:id="buttonRoom4" accessibleRole="RADIO_BUTTON" alignment="CENTER" contentDisplay="GRAPHIC_ONLY" layoutX="515.3" layoutY="104.0" minWidth="-Infinity" mnemonicParsing="false" onAction="#sendVote4" prefHeight="110.0" prefWidth="90.0" text="room4">
<font>
<Font size="25.0" />
</font>
<graphic>
<ImageView fitHeight="145.24" fitWidth="217.6" pickOnBounds="true" preserveRatio="true">
<image>
<Image url="@DayOpen/room5button.png" />
</image>
</ImageView>
</graphic>
</Button>
<Button id="room1" fx:id="buttonRoom5" accessibleRole="RADIO_BUTTON" alignment="CENTER" contentDisplay="GRAPHIC_ONLY" layoutX="639.0" layoutY="130.0" minWidth="-Infinity" mnemonicParsing="false" onAction="#sendVote5" prefHeight="110.0" prefWidth="90.0" text="room5">
<font>
<Font size="25.0" />
</font>
<graphic>
<ImageView fitHeight="145.24" fitWidth="217.6" pickOnBounds="true" preserveRatio="true">
<image>
<Image url="@DayOpen/room6button.png" />
</image>
</ImageView>
</graphic>
</Button>
<HBox fx:id="roomLables" alignment="CENTER" layoutY="82.0" prefHeight="62.0" prefWidth="747.0" rotate="12.2">
<children>
<TextFlow fx:id="lableRoom0" prefHeight="200.0" prefWidth="200.0" textAlignment="CENTER" />
@ -105,13 +63,43 @@
<TextFlow fx:id="lableRoom5" prefHeight="200.0" prefWidth="200.0" textAlignment="CENTER" />
</children>
</HBox>
<Button id="room1" fx:id="buttonRoom0" accessibleRole="RADIO_BUTTON" alignment="TOP_CENTER" contentDisplay="GRAPHIC_ONLY" minWidth="-Infinity" mnemonicParsing="false" onAction="#sendVote0" onMouseExited="#moveRoom0Down" onMouseMoved="#moveRoom0Up" prefHeight="110.0" prefWidth="120.0" text="room0">
<font>
<Font size="25.0" />
</font>
</Button>
<Button id="room1" fx:id="buttonRoom1" accessibleRole="RADIO_BUTTON" alignment="CENTER" contentDisplay="GRAPHIC_ONLY" layoutX="120.0" layoutY="26.0" minWidth="-Infinity" mnemonicParsing="false" onAction="#sendVote1" onMouseExited="#moveRoom1Down" onMouseMoved="#moveRoom1Up" prefHeight="110.0" prefWidth="120.0" text="room1">
<font>
<Font size="25.0" />
</font>
</Button>
<Button id="room1" fx:id="buttonRoom2" accessibleRole="RADIO_BUTTON" alignment="CENTER" contentDisplay="GRAPHIC_ONLY" layoutX="240.0" layoutY="52.0" minWidth="-Infinity" mnemonicParsing="false" onAction="#sendVote2" onMouseExited="#moveRoom2Down" onMouseMoved="#moveRoom2Up" prefHeight="110.0" prefWidth="120.0" text="room2">
<font>
<Font size="25.0" />
</font>
</Button>
<Button id="room1" fx:id="buttonRoom3" accessibleRole="RADIO_BUTTON" alignment="CENTER" contentDisplay="GRAPHIC_ONLY" layoutX="360.0" layoutY="78.0" minWidth="-Infinity" mnemonicParsing="false" onAction="#sendVote3" onMouseExited="#moveRoom3Down" onMouseMoved="#moveRoom3Up" prefHeight="110.0" prefWidth="115.0" text="room3">
<font>
<Font size="25.0" />
</font>
</Button>
<Button id="room1" fx:id="buttonRoom4" accessibleRole="RADIO_BUTTON" alignment="CENTER" contentDisplay="GRAPHIC_ONLY" layoutX="475.0" layoutY="104.0" minWidth="-Infinity" mnemonicParsing="false" onAction="#sendVote4" onMouseExited="#moveRoom4Down" onMouseMoved="#moveRoom4Up" prefHeight="110.0" prefWidth="115.0" text="room4">
<font>
<Font size="25.0" />
</font>
</Button>
<Button id="room1" fx:id="buttonRoom5" accessibleRole="RADIO_BUTTON" alignment="CENTER" contentDisplay="GRAPHIC_ONLY" layoutX="590.0" layoutY="130.0" minWidth="-Infinity" mnemonicParsing="false" onAction="#sendVote5" onMouseExited="#moveRoom5Down" onMouseMoved="#moveRoom5Up" prefHeight="110.0" prefWidth="115.0" text="room5">
<font>
<Font size="25.0" />
</font>
</Button>
</children>
</Group>
<Button fx:id="noiseButton" alignment="CENTER" layoutX="267.0" layoutY="482.0" mnemonicParsing="false" onAction="#noise" prefHeight="114.0" prefWidth="217.0" text="I heard some noise">
<font>
<Font name="System Bold" size="21.0" />
</font></Button>
<TextFlow fx:id="notificationText" accessibleRole="PARENT" layoutX="210.0" layoutY="20.0" prefHeight="200.0" prefWidth="800.0" textAlignment="CENTER" />
<AnchorPane fx:id="chatAreaGame" />
<TextFlow fx:id="notificationText" accessibleRole="PARENT" layoutX="210.0" layoutY="20.0" pickOnBounds="false" prefHeight="200.0" prefWidth="800.0" textAlignment="CENTER" />
<AnchorPane fx:id="chatAreaGame" pickOnBounds="false" />
</children>
</AnchorPane>

View File

@ -10,12 +10,11 @@
<?import javafx.scene.shape.Line?>
<?import javafx.scene.text.TextFlow?>
<AnchorPane fx:id="backGroundAnchorPane" stylesheets="@loungStyle.css" xmlns="http://javafx.com/javafx/18" xmlns:fx="http://javafx.com/fxml/1" fx:controller="ch.unibas.dmi.dbis.cs108.multiplayer.client.gui.lounge.LoungeSceneViewController">
<AnchorPane fx:id="backGroundAnchorPane" pickOnBounds="false" stylesheets="@loungStyle.css" xmlns="http://javafx.com/javafx/18" xmlns:fx="http://javafx.com/fxml/1" fx:controller="ch.unibas.dmi.dbis.cs108.multiplayer.client.gui.lounge.LoungeSceneViewController">
<children>
<AnchorPane fx:id="gameDisplayAnchorPane" />
<BorderPane fx:id="LoungeSceneBorderPane" layoutX="860.0" layoutY="440.0" stylesheets="@boarderPane.css" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
<BorderPane fx:id="LoungeSceneBorderPane" layoutX="860.0" layoutY="440.0" pickOnBounds="false" stylesheets="@boarderPane.css" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
<top>
<ToolBar fx:id="NTtBToolBar" prefHeight="77.0" BorderPane.alignment="CENTER">
<ToolBar fx:id="NTtBToolBar" pickOnBounds="false" prefHeight="77.0" BorderPane.alignment="CENTER">
<items>
<Button fx:id="highScoreButton" mnemonicParsing="false" onAction="#sendHIghScore" text="High Score" />
<Button fx:id="lobbyPrintButton" mnemonicParsing="false" onAction="#sendLilstle" text="Lobby List" />
@ -26,7 +25,7 @@
</ToolBar>
</top>
<center>
<AnchorPane BorderPane.alignment="CENTER">
<AnchorPane pickOnBounds="false" BorderPane.alignment="CENTER">
<children>
<Button fx:id="newGameButton" layoutX="34.0" layoutY="101.0" mnemonicParsing="false" text="New Lobby" />
<AnchorPane fx:id="gameAnchorPane" />
@ -35,7 +34,7 @@
</AnchorPane>
</center>
<bottom>
<AnchorPane fx:id="ChatArea" BorderPane.alignment="CENTER">
<AnchorPane fx:id="ChatArea" pickOnBounds="false" BorderPane.alignment="CENTER">
<children>
<SplitPane fx:id="chatSplitPane" dividerPositions="0.46467817896389324" minHeight="50.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
<items>
@ -55,11 +54,12 @@
</AnchorPane>
</bottom>
<left>
<ListView fx:id="ClientListView" BorderPane.alignment="CENTER" />
<ListView fx:id="ClientListView" pickOnBounds="false" BorderPane.alignment="CENTER" />
</left>
<right>
<ListView fx:id="LobbyListView" BorderPane.alignment="CENTER" />
<ListView fx:id="LobbyListView" pickOnBounds="false" BorderPane.alignment="CENTER" />
</right>
</BorderPane>
<AnchorPane fx:id="gameDisplayAnchorPane" pickOnBounds="false" />
</children>
</AnchorPane>

View File

@ -0,0 +1,8 @@
.imageView{
}
*{
-fx-border-color: lightgrey;
}