package org.test.towerdefense; import loon.geom.Vector2f; public class ConfirmScreen extends MenuScreen { private ConfirmScreenSpriteWithText confirmScreenSpriteWithText; private ConfirmType confirmType = ConfirmType.values()[0]; private MainGame game; public ConfirmScreen(MainGame game, ScreenType prevScreen, ConfirmType confirmType) { super("", game, prevScreen); this.game = game; this.confirmType = confirmType; super.setTransitionOnTime(0f); super.setTransitionOffTime(0f); super.setIsPopup(true); Vector2f vector = new Vector2f(60f, 50f); MenuEntry item = new MenuEntry(""); item.setuseButtonBackground(false); item.setPosition(new Vector2f(48f, 220f)); item.setnoButtonBackgroundSize(vector); MenuEntry entry2 = new MenuEntry(""); entry2.setuseButtonBackground(false); entry2.setPosition(new Vector2f(206f, 220f)); entry2.setnoButtonBackgroundSize(vector); item.Selected = new GameEvent() { @Override public void invoke(MenuEntry comp) { YesSelected(); } }; entry2.Selected = new GameEvent() { @Override public void invoke(MenuEntry comp) { NoSelected(); } }; super.getMenuEntries().add(item); super.getMenuEntries().add(entry2); this.confirmScreenSpriteWithText = new ConfirmScreenSpriteWithText(game); this.confirmScreenSpriteWithText.setDrawOrder(100); game.Components().add(this.confirmScreenSpriteWithText); } private void Exit() { if (this.confirmScreenSpriteWithText != null) { this.game.Components().remove(this.confirmScreenSpriteWithText); } } private void HandleNo() { this.Exit(); super.ExitScreen(); this.game.getGameplayScreen().GameResumed(); } private void NoSelected() { this.HandleNo(); } @Override protected void OnCancel() { this.HandleNo(); } private void YesSelected() { this.Exit(); super.getScreenManager().ExitAllScreens(); if (this.confirmType == ConfirmType.ExitToMainMenu) { this.game.setGameplayScreen(null); super.getScreenManager().AddScreen( new MainMenuScreen(this.game, ScreenType.ConfirmScreen)); } else if (this.confirmType == ConfirmType.RestartGame) { super.getScreenManager().AddScreen( new GameplayScreen(this.game, this.game.getGameplayScreen() .getDifficulty(), this.game.getGameplayScreen() .getLevel())); } } }