public MenuComponent CreateMachineInterface(Machine machine, Player player, RecipeCollection recipeCollection) { Font menuFont = fontContainer.GetFont("SairaRegular"); MenuPanel machinePanel = new MenuPanel(new Vector2i(0, 0), new Vector2i(500, 200), new FloatRect(0, 0, 96, 96), 8, null, new Color(255, 255, 255, 224)); MenuInventory inputInventory = new MenuInventory(new Vector2i(96, 64), machine.input, player, machine, menuFont); MenuInventory outputInventory = new MenuInventory(new Vector2i(96, 64), machine.result, player, machine, menuFont); outputInventory.allowInsertion = false; MenuProgressBar recipeProgress = new MenuProgressBar(new Vector2i(128, 16), new FloatRect(0, 0, 32, 32), new FloatRect(0, 0, 32, 32), machine.GetProgress, new Color(196, 92, 0)); MenuDrawable machineGraphic = new MenuDrawable(new Vector2i(128, 128), machine, 0); Recipe[] recipes = recipeCollection.GetRecipes(new string[] { machine.name }); MenuPanel recipePanel = CreateRecipePanel(machine.ApplyRecipe, player, recipes); machinePanel.AttachComponent(recipePanel); recipePanel.SetPivots("right", "center", "outside", 0); recipePanel.SetInitialPosition(machinePanel); recipePanel.lockedPosition = true; machinePanel.AttachComponent(inputInventory); machinePanel.AttachComponent(recipeProgress); machinePanel.AttachComponent(outputInventory); machinePanel.AttachComponent(machineGraphic); inputInventory.SetInitialPosition(); recipeProgress.SetPivots("right", "center", "outside", 0); recipeProgress.SetInitialPosition(inputInventory); outputInventory.SetPivots("right", "center", "outside", 0); outputInventory.SetInitialPosition(inputInventory); menuContainer.AttachMenu(machinePanel); machinePanel.closePanelKey = InputBindings.showInventory; menuContainer.ClosePanelsWithTag("EntityGUI"); machinePanel.panelTag = "EntityGUI"; machinePanel.SetInitialPosition(camera.GetGUIView()); return(machinePanel); }
public void CreatePauseMenu() { Font pauseMenuFont = fontContainer.GetFont("SairaRegular"); MenuPanel pausemenu = new MenuPanel(new Vector2i(0, 0), new Vector2i(200, 200), new FloatRect(0, 0, 96, 96), 4, program.SwitchGameState, new Color(255, 255, 255, 224)); pausemenu.tag = "inGame"; MenuText resumeGameText = new MenuText(new Vector2i(150, 50), pauseMenuFont, "Resume Game", 24, 0.6f); MenuButton resumeGameButton = new MenuButton(new Vector2i(150, 50), pausemenu.ClosePanel); resumeGameButton.tag = "inGame"; MenuText endGameText = new MenuText(new Vector2i(150, 50), pauseMenuFont, "Return to Title", 24, 0.6f); MenuButton endGameButton = new MenuButton(new Vector2i(150, 50), program.SwitchGameState); endGameButton.tag = "mainMenu"; MenuText quitGameText = new MenuText(new Vector2i(150, 50), pauseMenuFont, "Quit Game", 24, 0.6f); MenuButton quitGameButton = new MenuButton(new Vector2i(150, 50), program.SwitchGameState); quitGameButton.tag = "exit"; pausemenu.AttachComponent(resumeGameButton); resumeGameButton.AttachComponent(resumeGameText); pausemenu.AttachComponent(endGameButton); endGameButton.AttachComponent(endGameText); pausemenu.AttachComponent(quitGameButton); quitGameButton.AttachComponent(quitGameText); pausemenu.closePanelKey = InputBindings.showPauseMenu; pausemenu.SetPivots("center", "center", "inside", 0); pausemenu.SetInitialPosition(camera.GetGUIView()); resumeGameButton.SetPivots("top", "center", "inside", 25); resumeGameButton.SetInitialPosition(camera.GetGUIView()); endGameButton.SetPivots("bottom", "center", "outside", 0); endGameButton.SetInitialPosition(resumeGameButton); quitGameButton.SetPivots("bottom", "center", "outside", 0); quitGameButton.SetInitialPosition(endGameButton); menuContainer.AttachMenu(pausemenu); //Pause the game program.SwitchGameState("paused"); }
public void CreateMinimap() { MenuPanel minimapPanel = new MenuPanel(new Vector2i(0, 0), new Vector2i(300, 350), new FloatRect(0, 0, 96, 96), 4, null, new Color(255, 255, 255, 224)); MenuWorldMap minimap = new MenuWorldMap(new Vector2i(250, 250), camera, renderer); minimap.mapScale = 1.25f; MenuButton minimapPollutionToggle = new MenuButton(new Vector2i(50, 50), minimap.TogglePollution); minimapPanel.AttachComponent(minimap); minimapPanel.AttachComponent(minimapPollutionToggle); minimapPollutionToggle.SetInitialPosition(camera.GetGUIView()); minimapPanel.closePanelKey = InputBindings.showMinimap; minimapPanel.SetPivots("top", "right", "inside", 0); minimapPanel.SetInitialPosition(camera.GetGUIView()); minimapPanel.lockedPosition = true; minimap.SetPivots("top", "center", "inside", 25); minimap.SetInitialPosition(camera.GetGUIView()); minimapPollutionToggle.SetPivots("bottom", "center", "inside", 25); minimapPollutionToggle.SetInitialPosition(camera.GetGUIView()); menuContainer.AttachMenu(minimapPanel); }