private void SpawnButtons() { TextButton btnStart = new TextButton(new Rectangle(), font, "Start", texPixel); btnStart.Click += () => { TheWitnessPuzzles.Puzzle currentPanel = FileStorageManager.LoadCurrentPanel(); if (currentPanel == null) { currentPanel = DI.Get<PanelGenerator>().GeneratePanel(); FileStorageManager.SaveCurrentPanel(currentPanel); } ScreenManager.Instance.AddScreen<PanelGameScreen>(false, true, currentPanel); SoundManager.PlayOnce(Sound.MenuEnter); }; TextButton btnHistory = new TextButton(new Rectangle(), font, "Library", texPixel); btnHistory.Click += () => { ScreenManager.Instance.AddScreen<HistoryGameScreen>(false, true); SoundManager.PlayOnce(Sound.MenuEnter); }; TextButton btnSettings = new TextButton(new Rectangle(), font, "Settings", texPixel); btnSettings.Click += () => { ScreenManager.Instance.AddScreen<SettingsGameScreen>(false, true); SoundManager.PlayOnce(Sound.MenuEnter); }; TextButton btnAbout = new TextButton(new Rectangle(), font, "About", texPixel); btnAbout.Click += () => { ScreenManager.Instance.AddScreen<AboutGameScreen>(false, true); SoundManager.PlayOnce(Sound.MenuEnter); }; buttons.Add(btnStart); buttons.Add(btnHistory); buttons.Add(btnSettings); buttons.Add(btnAbout); UpdateButtonsPosition(); }
private void SpawnButtons() { int btnSize = (int)(Math.Min(ScreenSize.X, ScreenSize.Y) * 0.2f); btnBack = new TextButton(new Rectangle(btnSize / 2, ScreenSize.Y - btnSize, btnSize, btnSize / 2), font, "Back", texPixel); btnBack.Click += () => { SoundManager.PlayOnce(Sound.MenuEscape); switch (state) { case EditorState.PanelDimensionsSelect: ScreenManager.Instance.GoBack(); break; case EditorState.Main: state = EditorState.PanelDimensionsSelect; break; case EditorState.NodeEdit: break; case EditorState.EdgeEdit: break; case EditorState.BlockEdit: break; case EditorState.TetrisSelect: break; } }; btnNext = new TextButton(new Rectangle(ScreenSize.X - btnSize - btnSize / 2, ScreenSize.Y - btnSize, btnSize, btnSize / 2), font, "Next", texPixel); btnNext.Click += () => { SoundManager.PlayOnce(Sound.MenuEnter); switch (state) { case EditorState.PanelDimensionsSelect: state = EditorState.Main; if (panel == null) { panel = new Puzzle(panelDimensions.X, panelDimensions.Y); } renderer.SetPanel(panel); renderer.RenderPanelToTexture(panelTexture); break; case EditorState.Main: break; case EditorState.NodeEdit: break; case EditorState.EdgeEdit: break; case EditorState.BlockEdit: break; case EditorState.TetrisSelect: break; } }; }