diff --git a/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/Main.java b/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/Main.java index 348cf5c..32de983 100644 --- a/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/Main.java +++ b/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/Main.java @@ -179,6 +179,8 @@ public void start(final Stage stage) throws Exception { // triggered when a new save file is loaded. // We define this implementation here, because // this class has the highest level overview of the application. + // SOLUTION SUGGESTED BY AI. + // REVIEWED AND TESTED BY THE TEAM BEFORE IMPLEMENTATION. eventManager.addSubscriber(new EventSubscriber() { @Override public void handleEvent(final EventData eventData) { diff --git a/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/view/ingame/InGameActions.java b/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/view/ingame/InGameActions.java index 03ddd1a..37151cd 100644 --- a/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/view/ingame/InGameActions.java +++ b/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/view/ingame/InGameActions.java @@ -1,6 +1,8 @@ package edu.ntnu.idi.idatt2003.g40.mappe.view.ingame; +/** + * Action set for the in game controller. + * */ public enum InGameActions { - BUY_SHARES, - SELL_SHARES; + // Empty, no direct actions. } diff --git a/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/view/ingame/InGameController.java b/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/view/ingame/InGameController.java index 6c84780..d0b30d8 100644 --- a/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/view/ingame/InGameController.java +++ b/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/view/ingame/InGameController.java @@ -6,12 +6,20 @@ import edu.ntnu.idi.idatt2003.g40.mappe.service.event.EventType; import edu.ntnu.idi.idatt2003.g40.mappe.view.ViewController; import edu.ntnu.idi.idatt2003.g40.mappe.view.widgets.WidgetEnum; -import javafx.scene.Node; import java.util.EnumMap; +import javafx.scene.Node; +/** + * Controller for {@link InGameView}. + * + *

Extends {@link ViewController}

+ * */ public final class InGameController extends ViewController implements EventSubscriber { + /** + * Map of widgets, used to identify and switch between center nodes. + * */ private final EnumMap widgetMap = new EnumMap<>(WidgetEnum.class); /** @@ -24,6 +32,12 @@ public InGameController(final InGameView viewElement, eventManager.addSubscriber(this, EventType.CHANGE_INGAME_CENTER); } + /** + * Adds a widget to the widget map. + * + * @param widgetEnum the name of the widget. + * @param widgetRoot the root node of the widget. + * */ public void addwidget(final WidgetEnum widgetEnum, final Node widgetRoot) { widgetMap.put(widgetEnum, widgetRoot); } diff --git a/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/view/ingame/InGameView.java b/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/view/ingame/InGameView.java index 6ef94b2..7027655 100644 --- a/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/view/ingame/InGameView.java +++ b/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/view/ingame/InGameView.java @@ -8,6 +8,11 @@ import javafx.scene.layout.StackPane; import javafx.scene.layout.VBox; +/** + * In game view. + * + *

Extends {@link ViewElement}

+ * */ public class InGameView extends ViewElement { private final TopBarView topBarView; @@ -77,13 +82,4 @@ public void hideSettingsOverlay() { settingsOverlay = null; } } - - /** - * Returns whether a settings overlay is currently shown. - * - * @return {@code true} if the settings overlay is visible. - * */ - public boolean isSettingsOverlayVisible() { - return settingsOverlay != null; - } } diff --git a/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/view/mainmenu/MainMenuActions.java b/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/view/mainmenu/MainMenuActions.java index 37ad15c..45e8914 100644 --- a/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/view/mainmenu/MainMenuActions.java +++ b/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/view/mainmenu/MainMenuActions.java @@ -1,7 +1,21 @@ package edu.ntnu.idi.idatt2003.g40.mappe.view.mainmenu; +/** + * Action set for the main menu. + * */ public enum MainMenuActions { + /** + * Action for starting the game. + * */ START_GAME, + + /** + * Action for opening the settings panel. + * */ SETTINGS, + + /** + * Action for exiting the application. + * */ EXIT; } diff --git a/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/view/mainmenu/MainMenuController.java b/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/view/mainmenu/MainMenuController.java index a9343a1..c2176b6 100644 --- a/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/view/mainmenu/MainMenuController.java +++ b/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/view/mainmenu/MainMenuController.java @@ -1,10 +1,7 @@ package edu.ntnu.idi.idatt2003.g40.mappe.view.mainmenu; -import edu.ntnu.idi.idatt2003.g40.mappe.service.event.EventData; import edu.ntnu.idi.idatt2003.g40.mappe.service.event.EventManager; -import edu.ntnu.idi.idatt2003.g40.mappe.service.event.EventType; import edu.ntnu.idi.idatt2003.g40.mappe.view.ViewController; -import edu.ntnu.idi.idatt2003.g40.mappe.view.ViewData; import edu.ntnu.idi.idatt2003.g40.mappe.view.ViewEnum; import javafx.application.Platform; diff --git a/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/view/playgame/PlayGameActions.java b/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/view/playgame/PlayGameActions.java index aa52832..7b8ce7a 100644 --- a/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/view/playgame/PlayGameActions.java +++ b/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/view/playgame/PlayGameActions.java @@ -1,7 +1,22 @@ package edu.ntnu.idi.idatt2003.g40.mappe.view.playgame; +/** + * Action set in the {@link PlayGameView} section. + * */ public enum PlayGameActions { + + /** + * Creating a new game. + * */ NEW_GAME, + + /** + * Returning to the main menu. + * */ BACK, + + /** + * Uploading a save file. + * */ UPLOAD_SAVE, } diff --git a/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/view/settings/SettingsActions.java b/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/view/settings/SettingsActions.java index b319a02..dfc7dff 100644 --- a/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/view/settings/SettingsActions.java +++ b/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/view/settings/SettingsActions.java @@ -1,8 +1,26 @@ package edu.ntnu.idi.idatt2003.g40.mappe.view.settings; +/** + * Action set for {@link SettingsView}. + * */ public enum SettingsActions { + /** + * Audio panel. + * */ AUDIO, + + /** + * Video panel. + * */ VIDEO, + + /** + * Hotkeys panel. + * */ HOTKEYS, + + /** + * Return to main menu. + * */ BACK; } diff --git a/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/view/widgets/financialsummary/SummaryActions.java b/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/view/widgets/financialsummary/SummaryActions.java index a9c93c7..4a5c4ee 100644 --- a/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/view/widgets/financialsummary/SummaryActions.java +++ b/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/view/widgets/financialsummary/SummaryActions.java @@ -1,5 +1,11 @@ package edu.ntnu.idi.idatt2003.g40.mappe.view.widgets.financialsummary; +/** + * Action set for {@link SummaryView}. + * */ public enum SummaryActions { + /** + * Advance week. + * */ NEXT_WEEK; } diff --git a/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/view/widgets/financialsummary/SummaryController.java b/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/view/widgets/financialsummary/SummaryController.java index b103b6a..761c044 100644 --- a/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/view/widgets/financialsummary/SummaryController.java +++ b/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/view/widgets/financialsummary/SummaryController.java @@ -11,11 +11,27 @@ import java.util.ArrayList; import java.util.List; +/** + * Controller for the {@link SummaryView}. + * + *

Extends {@link ViewController}

+ * */ public class SummaryController extends ViewController implements EventSubscriber { + /** + * Exchange to call when advancing week. + * */ private Exchange exchange; + + /** + * Player object. + * */ private Player player; + + /** + * Player net-worth history. + * */ private List playerNetWorthHistory; /** diff --git a/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/view/widgets/minigames/GameGimmick.java b/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/view/widgets/minigames/GameGimmick.java index e1add25..0f09224 100644 --- a/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/view/widgets/minigames/GameGimmick.java +++ b/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/view/widgets/minigames/GameGimmick.java @@ -6,6 +6,8 @@ /** * Strategy interface defining the central * logic and layout for individual minigames. + * + *

DESIGN SUGGESTED BY AI

*/ public interface GameGimmick { diff --git a/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/view/widgets/minigames/games/TimeInputsGame.java b/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/view/widgets/minigames/games/TimeInputsGame.java index 85aabc9..91eeb8d 100644 --- a/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/view/widgets/minigames/games/TimeInputsGame.java +++ b/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/view/widgets/minigames/games/TimeInputsGame.java @@ -118,6 +118,8 @@ private void renderCanvas() { gc.strokeArc(centerX - radius, centerY - radius, radius * 2, radius * 2, successZoneStart, successZoneExtent, javafx.scene.shape.ArcType.OPEN); // Calculates and draws the indicator line based on radius and angle. + // ROTATION ALGORITHM SUGGESTED BY AI. + // CODE HAS BEEN REVIEWED AND TESTED. double rad = Math.toRadians(-indicatorAngle); double startX = centerX + (radius - 15) * Math.cos(rad); double startY = centerY + (radius - 15) * Math.sin(rad);