Add Game UI logic #255

Merged
j.kropff merged 28 commits from feat/game-ui into main 2026-04-11 16:59:57 +02:00
Showing only changes of commit db3f34fddf - Show all commits
@@ -2,6 +2,7 @@
<?import javafx.scene.control.*?> <?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?> <?import javafx.scene.layout.*?>
<?import javafx.scene.image.ImageView?>
<?import javafx.geometry.Insets?> <?import javafx.geometry.Insets?>
<!-- <!--
@@ -15,59 +16,58 @@ and status displays will be dynamically populated with real-time data from the s
<VBox fx:id="playerStatusBox" <VBox fx:id="playerStatusBox"
xmlns="http://javafx.com/javafx/21" xmlns="http://javafx.com/javafx/21"
xmlns:fx="http://javafx.com/fxml/1" xmlns:fx="http://javafx.com/fxml/1"
fx:controller="ch.unibas.dmi.dbis.cs108.casono.client.ui.gameui.gameuicomponents.PlayerStatusController"
styleClass="player-status-pane" styleClass="player-status-pane"
prefWidth="200" prefWidth="200"
prefHeight="100" spacing="5">
spacing="0">
<children> <children>
<!-- Area for player name -->
<!-- NAME -->
<HBox styleClass="status-inner-box-top" <HBox styleClass="status-inner-box-top"
alignment="CENTER_LEFT" alignment="CENTER_LEFT"
maxWidth="Infinity" prefHeight="40">
prefHeight="60">
<padding> <padding>
<Insets left="15"/> <Insets left="10"/>
</padding> </padding>
<Label text="NAME: " styleClass="status-label-small"/> <Label styleClass="status-label-small"/>
<!-- TODO: fx:id="playerName": Will later be replaced by the username from the server query --> <Label fx:id="playerName" text="-" styleClass="status-value-text"/>
<Label fx:id="playerName" text="SPIELER" styleClass="status-value-text"/>
</HBox> </HBox>
<!-- Shaft space between the boxes --> <!-- spacer -->
<HBox styleClass="status-inner-box-midle" <HBox prefHeight="5"/>
alignment="CENTER_LEFT"
maxWidth="Infinity"
prefHeight="10">
<padding> <!-- MONEY -->
<Insets left="15"/>
</padding>
</HBox>
<!-- Display of capital/money balance -->
<HBox styleClass="status-inner-box-bottom" <HBox styleClass="status-inner-box-bottom"
alignment="CENTER_LEFT" alignment="CENTER_LEFT"
maxWidth="Infinity" prefHeight="40">
prefHeight="30">
<padding> <padding>
<Insets left="15"/> <Insets left="10"/>
</padding> </padding>
<Label text="GELD: " styleClass="status-label-small"/> <Label styleClass="status-label-small"/>
<Label fx:id="playerMoney" text="0 $" styleClass="status-value-money"/> <Label fx:id="playerMoney" text="0 $" styleClass="status-value-money"/>
</HBox> </HBox>
<!-- TODO: User logo or icon: Placeholder for the profile picture or the player's individual logo --> <!-- ICON AREA -->
<Pane prefHeight="0" maxWidth="Infinity"> <Pane fx:id="parent" prefHeight="40">
<Region styleClass="status-circle" <Region styleClass="status-circle"
layoutX="-10" layoutX="-25"
layoutY="-105" layoutY="-125"
prefWidth="30" prefWidth="40"
prefHeight="30"/> prefHeight="40"/>
<ImageView fx:id="dealerIcon"
fitWidth="43"
fitHeight="43"
layoutY="-120"
visible="false"
styleClass="dealer-icon"/>
</Pane> </Pane>
</children> </children>
</VBox> </VBox>