diff --git a/Projekte/monopoly/client/src/main/java/pp/monopoly/client/gui/popups/RepayMortage.java b/Projekte/monopoly/client/src/main/java/pp/monopoly/client/gui/popups/RepayMortage.java
index ada03c0..17128ed 100644
--- a/Projekte/monopoly/client/src/main/java/pp/monopoly/client/gui/popups/RepayMortage.java
+++ b/Projekte/monopoly/client/src/main/java/pp/monopoly/client/gui/popups/RepayMortage.java
@@ -28,20 +28,43 @@ import java.util.Set;
import java.util.stream.Collectors;
/**
- * RepayMortage is a popup which appears when a player clicks on the "Repay Mortage"-button in the BuildingAdminMenu
+ * RepayMortage is a popup that appears when a player selects the "Repay Mortgage" option
+ * in the Building Administration Menu.
+ *
+ * This popup allows the player to select mortgaged properties and repay their mortgages,
+ * showing the total cost of the repayment. Includes options to confirm or cancel the repayment.
+ *
*/
public class RepayMortage extends Dialog {
+ /** Reference to the Monopoly application instance. */
private final MonopolyApp app;
+
+ /** Main container for the mortgage repayment menu. */
private final Container repayMortageContainer;
+
+ /** Background container providing a border for the popup. */
private final Container backgroundContainer;
- private TextField selectionDisplay; // TextField to display selections
+
+ /** Text field to display selected properties. */
+ private TextField selectionDisplay;
+
+ /** Reference to track property selections in the dropdown menu. */
private VersionedReference> selectionRef;
+
+ /** Dropdown menu for selecting mortgaged properties. */
private Selector propertySelector;
+
+ /** Set of selected properties for mortgage repayment. */
private Set selectedProperties = new HashSet<>();
+ /** Label displaying the total repayment cost. */
private Label cost = new Label("0", new ElementId("label-Text"));
-
+ /**
+ * Constructs the RepayMortage popup for handling mortgage repayment.
+ *
+ * @param app the Monopoly application instance
+ */
public RepayMortage(MonopolyApp app) {
super(app.getDialogManager());
this.app = app;
@@ -154,6 +177,7 @@ public class RepayMortage extends Dialog {
return dropdownContainer;
}
+
/**
* Retrieves the list of properties owned by the current player.
*
@@ -170,6 +194,11 @@ public class RepayMortage extends Dialog {
.collect(Collectors.toList());
}
+ /**
+ * Updates the UI based on selection changes in the dropdown menu.
+ *
+ * @param delta the time elapsed since the last update
+ */
@Override
public void update(float delta) {
if(selectionRef.update()) {
@@ -178,7 +207,9 @@ public class RepayMortage extends Dialog {
}
/**
- * Handles property selection changes.
+ * Handles changes in the property selection and updates the total repayment cost.
+ *
+ * @param playerProperties the dropdown menu for selecting properties
*/
private void onDropdownSelectionChanged(Selector playerProperties) {
String selected = playerProperties.getSelectedItem();
@@ -201,7 +232,7 @@ public class RepayMortage extends Dialog {
}
/**
- * Schließt das Menü und entfernt die GUI-Elemente.
+ * Closes the popup and removes its associated GUI elements.
*/
@Override
public void close() {
@@ -210,6 +241,9 @@ public class RepayMortage extends Dialog {
super.close();
}
+ /**
+ * Opens the settings menu when the escape key is pressed.
+ */
@Override
public void escape() {
new SettingsMenu(app).open();