From f4b7f678cafe0b943bcc42803dbda719f6dd019b Mon Sep 17 00:00:00 2001 From: = Date: Mon, 25 May 2026 01:16:26 +0200 Subject: [PATCH] fix: fixed merge conflict --- .../ntnu/idi/idatt2003/g40/mappe/Main.java | 100 +++++++++++++++--- 1 file changed, 87 insertions(+), 13 deletions(-) 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 c40d4f0..d6c8602 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 @@ -70,7 +70,7 @@ static void main(String[] args) { public void start(final Stage stage) throws Exception { Scene scene = new Scene(new Pane()); scene.getStylesheets() - .add(Objects.requireNonNull(getClass().getResource("/styles.css")).toExternalForm()); + .add(Objects.requireNonNull(getClass().getResource("/styles.css")).toExternalForm()); Font.loadFont(getClass().getResourceAsStream("/Fonts/Aptos.ttf"), 16); stage.setScene(scene); stage.setWidth(ConfigValues.VIEWPORT_WIDTH.getValue()); @@ -96,15 +96,14 @@ public void start(final Stage stage) throws Exception { PlayGameView playGameView = new PlayGameView(); SaveGameService saveGameService = new SaveGameService(); PlayGameController playGameController = - new PlayGameController(playGameView, eventManager, saveGameService); - - // Last lagrede spill fra disk. + new PlayGameController(playGameView, eventManager, saveGameService); playGameController.refresh(); + // Create game (mellom play-game og selve spillet) CreateGameView createGameView = new CreateGameView(); CreateGameController createGameController = - new CreateGameController(createGameView, eventManager, saveGameService); + new CreateGameController(createGameView, eventManager, saveGameService); // Refresh save-listen etter at en ny save er skrevet til disk. createGameController.setOnSaveCreated(playGameController::refresh); @@ -127,10 +126,10 @@ public void start(final Stage stage) throws Exception { // Dashboard (default center-view in-game - første siden du ser) DashBoardView dashBoardView = new DashBoardView(); new DashBoardController(dashBoardView, - eventManager, - player, - exchange, - stocksInFile); + eventManager, + player, + exchange, + stocksInFile); // Stats page (Stats-knappen i topbaren tar deg hit) StatsView statsView = new StatsView(); @@ -139,7 +138,82 @@ public void start(final Stage stage) throws Exception { // Market page (Market-knappen tar deg hit) MarketView marketView = new MarketView(); new MarketController(marketView, - eventManager, - player, - exchange, - stocksIn \ No newline at end of file + eventManager, + player, + exchange, + stocksInFile); + + // In-game (Change "topBarView" to "topBarView2" if no summary section). + // Dashboard er default center-view. + InGameView inGameView = new InGameView(topBarView, dashBoardView.getRootPane()); + InGameController inGameController = new InGameController( + inGameView, + eventManager + ); + + // Transaction history page + TransactionsView transactionsView = new TransactionsView(); + TransactionsController transactionsController = new TransactionsController( + transactionsView, + eventManager, + player.getTransactionArchive()); + + ClickerGame clickerGame = new ClickerGame(); + FindStockGame findStockGame = new FindStockGame( + stocksInFile.stream() + .map(Stock::getSymbol) + .toList() + ); + TimeInputsGame timeInputsGame = new TimeInputsGame(); + + GameEngineView gameEngineView = new GameEngineView(); + GameEngineController gameEngineController = new GameEngineController( + gameEngineView, + eventManager, + stocksInFile.getFirst() + ); + + MiniGamesView miniGamesView = new MiniGamesView(); + new MiniGamesController( + miniGamesView, + eventManager, + stocksInFile.getFirst(), + gameEngineView, + gameEngineController, + clickerGame, + inGameView, + findStockGame, + timeInputsGame + ); + + // Wire top bar buttons til å bytte mellom dashboard / stats / market / + // transactions. Stats-knappen tar deg til stats-siden. + topBarController.setMarketIntegration( + inGameView::changeCenterView, + dashBoardView.getRootPane(), + marketView.getRootPane(), + statsView.getRootPane(), + transactionsView.getRootPane(), + transactionsController::refresh, + miniGamesView.getRootPane() + ); + + // Register all views + viewManager.addView(mainMenuView); + viewManager.addView(playGameView); + viewManager.addView(createGameView); + viewManager.addView(settingsView); + viewManager.addView(inGameView); + viewManager.setScene(mainMenuView); + + // Register all widgets + inGameController.addwidget(WidgetEnum.DASHBOARD, dashBoardView.getRootPane()); + inGameController.addwidget(WidgetEnum.MARKET, marketView.getRootPane()); + inGameController.addwidget(WidgetEnum.MINIGAMES_OVERVIEW, miniGamesView.getRootPane()); + inGameController.addwidget(WidgetEnum.MINIGAMES_ENGINE, gameEngineView.getRootPane()); + inGameController.addwidget(WidgetEnum.STATS, statsView.getRootPane()); + inGameController.addwidget(WidgetEnum.TRANSACTIONS, transactionsView.getRootPane()); + + stage.show(); + } +} \ No newline at end of file