diff --git a/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/service/event/EventType.java b/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/service/event/EventType.java index 777602d..ace4933 100644 --- a/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/service/event/EventType.java +++ b/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/service/event/EventType.java @@ -36,7 +36,21 @@ public enum EventType implements EventChannel { * @see edu.ntnu.idi.idatt2003.g40.mappe.view.ingame.InGameController * */ - CHANGE_INGAME_CENTER; + CHANGE_INGAME_CENTER, + + /** + * Event type representing events that change the center view to + * {@link edu.ntnu.idi.idatt2003.g40.mappe.view.widgets.minigames.MiniGamesView}, + * and selects a given stock for the minigames. + * + *
Primarily handled by the active + * {@link edu.ntnu.idi.idatt2003.g40.mappe.view.widgets.minigames.MiniGamesController} + * object.
+ * + * @see edu.ntnu.idi.idatt2003.g40.mappe.view.widgets.dashboard.DashBoardController + * + */ + SELECT_STOCK_FOR_MINIGAME; /** * {@inheritDoc} diff --git a/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/view/widgets/dashboard/DashBoardActions.java b/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/view/widgets/dashboard/DashBoardActions.java index 75b6639..1e92502 100644 --- a/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/view/widgets/dashboard/DashBoardActions.java +++ b/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/view/widgets/dashboard/DashBoardActions.java @@ -32,5 +32,10 @@ public enum DashBoardActions { /** * Increasing quantity of shares to buy/sell by five. * */ - INCREASE_5; + INCREASE_5, + + /** + * Selecting viewed stock to boost by playing minigames. + * */ + MINIGAME; } diff --git a/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/view/widgets/dashboard/DashBoardController.java b/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/view/widgets/dashboard/DashBoardController.java index 64280dc..9d31d0d 100644 --- a/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/view/widgets/dashboard/DashBoardController.java +++ b/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/view/widgets/dashboard/DashBoardController.java @@ -2,9 +2,12 @@ import edu.ntnu.idi.idatt2003.g40.mappe.engine.Exchange; import edu.ntnu.idi.idatt2003.g40.mappe.model.*; +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.utils.Validator; import edu.ntnu.idi.idatt2003.g40.mappe.view.ViewController; +import edu.ntnu.idi.idatt2003.g40.mappe.view.widgets.WidgetEnum; import javafx.scene.control.Button; import javafx.scene.control.TextFormatter; import java.math.BigDecimal; @@ -180,6 +183,11 @@ protected void initInteractions() { .add(new BigDecimal("5")).toString()); }); + getViewElement().setOnAction(DashBoardActions.MINIGAME, () -> { + invoke(new EventData<>(EventType.SELECT_STOCK_FOR_MINIGAME, getViewElement().getCurrentStock())); + invoke(new EventData<>(EventType.CHANGE_INGAME_CENTER, WidgetEnum.MINIGAMES_OVERVIEW)); + }); + exchange.weekProperty().addListener((observable,o,n) -> { getViewElement().updateGraph(selectedTimeRange); populateStockList(selectedFilter); diff --git a/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/view/widgets/dashboard/DashBoardView.java b/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/view/widgets/dashboard/DashBoardView.java index 6ba9bb8..d7edb2a 100644 --- a/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/view/widgets/dashboard/DashBoardView.java +++ b/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/view/widgets/dashboard/DashBoardView.java @@ -173,6 +173,11 @@ public final class DashBoardView extends ViewElement