public void setMenuUtilities(int x) { float unit = 1920 / (gameScreen.getMenuBarItems().size() + 1); for (int i = 0; i < gameScreen.getMenuBarItems().size(); i++) { float centerX = gameScreen.getMenuBarItems().get(i).getRight() * unit; String name = gameScreen.getMenuBarItems().get(i).getLeft(); Texture tx = gameScreen.getResourceManager().textures.get("menu_" + name); float leftX = centerX - (tx.getWidth() / 2); float rightX = centerX + (tx.getWidth() / 2); if (x > leftX && x < rightX && name.equals("stock")) { menuStack.push(new StockMenu(gameScreen)); gameScreen.getGameLogic().setPaused(true); } else if (x > leftX && x < rightX && name.equals("menu")) { menuStack.push(new DishMenu(gameScreen)); gameScreen.getGameLogic().setPaused(true); } else if (x > leftX && x < rightX && name.equals("market")) { menuStack.push(new MarketMenu(gameScreen)); gameScreen.getGameLogic().setPaused(true); } else if (x > leftX && x < rightX && name.equals("staff")) { menuStack.push(new StaffMenu(gameScreen)); gameScreen.getGameLogic().setPaused(true); } else if (x > leftX && x < rightX && name.equals("estate")) { // menuStack.push(new EstateMenu(gameScreen)); if (venue) { gameScreen.setVenue(gameScreen.getGameLogic().getVenueManager().getVenueList().get(1)); venue = false; } else { gameScreen.setVenue(gameScreen.getGameLogic().getVenueManager().getVenueList().get(0)); venue = true; } } else if (x > leftX && x < rightX && name.equals("advertisement")) { menuStack.push(new AdvertisementMenu(gameScreen)); gameScreen.getGameLogic().setPaused(true); } else if (x > leftX && x < rightX && name.equals("reports")) { menuStack.push(new ReportsMenu(gameScreen)); gameScreen.getGameLogic().setPaused(true); } else if (x > leftX && x < rightX && name.equals("friends")) { menuStack.push(new FriendsMenu(gameScreen)); gameScreen.getGameLogic().setPaused(true); } if (!menuStack.isEmpty()) { InputProcessor ip = menuStack.peek().getMenuController(); gameScreen.setInputProcessor(ip); } } }
public void processTouch(Vector2 v) { int touchPositionY = (int) v.y; // check for pressed menu if (touchPositionY >= 0 && touchPositionY <= gameScreen.getMenuHeight()) { setMenuUtilities((int) v.x); } else if (v.x > 1600 && v.x < 1900 && v.y > 250 && v.y < 350 && gameScreen.getGameLogic().isAfterHours()) { processTouch(new Vector2(200, 400)); int index = gameScreen .getGameLogic() .getVenueManager() .getVenueList() .indexOf(gameScreen.getCurrentVenue()); Venue ev = gameScreen.getGameLogic().resetVenue(index); gameScreen.setVenue(ev); gameScreen.setReportSummaryOpen(false); } }