package org.test.towerdefense; import loon.geom.Vector2f; public class BuyToGetFeaturesScreen extends MenuScreen { private BuyToGetFeaturesSpriteWithText buyToGetFeaturesSpriteWithText; private Difficulty difficulty; private MainGame game; public BuyToGetFeaturesScreen(MainGame game, ScreenType prevScreen, Difficulty difficulty) { super("", game, prevScreen); this.game = game; 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, 425f)); item.setnoButtonBackgroundSize(vector); MenuEntry entry2 = new MenuEntry(""); entry2.setuseButtonBackground(false); entry2.setPosition(new Vector2f(222f, 425f)); 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.difficulty = difficulty; this.buyToGetFeaturesSpriteWithText = new BuyToGetFeaturesSpriteWithText( game); this.buyToGetFeaturesSpriteWithText.setDrawOrder(100); game.Components().add(this.buyToGetFeaturesSpriteWithText); } private void Exit() { if (this.buyToGetFeaturesSpriteWithText != null) { this.buyToGetFeaturesSpriteWithText.Exit(); } } private void HandleNo() { this.Exit(); super.ExitScreen(); if (super.prevScreen == ScreenType.GameplayScreen) { this.game.getGameplayScreen().GameResumed(); } else if (super.prevScreen == ScreenType.MainMenuScreen) { super.getScreenManager().AddScreen( new MainMenuScreen(this.game, ScreenType.BuyToGetFeaturesScreen)); } } private void NoSelected() { this.HandleNo(); } @Override protected void OnCancel() { this.HandleNo(); } private void YesSelected() { this.Exit(); super.ExitScreen(); if (super.prevScreen == ScreenType.MainMenuScreen) { super.getScreenManager().ExitAllScreens(); super.getScreenManager().AddScreen( new MainMenuScreen(this.game, ScreenType.BuyToGetFeaturesScreen)); } else if (super.prevScreen == ScreenType.SelectLevelScreen) { super.getScreenManager().ExitAllScreens(); super.getScreenManager() .AddScreen( new SelectLevelScreen(this.game, ScreenType.BuyToGetFeaturesScreen, this.difficulty)); } } }