package com.tacoid.pweekmini.actors; import com.badlogic.gdx.graphics.g2d.TextureAtlas; import com.badlogic.gdx.graphics.g2d.TextureRegion; import com.badlogic.gdx.scenes.scene2d.Group; import com.badlogic.gdx.scenes.scene2d.InputEvent; import com.badlogic.gdx.scenes.scene2d.InputListener; import com.badlogic.gdx.scenes.scene2d.ui.Button; import com.badlogic.gdx.scenes.scene2d.utils.TextureRegionDrawable; import com.tacoid.pweek.IActivityRequestHandler; import com.tacoid.pweek.SoundPlayer; import com.tacoid.pweek.Pweek.ScreenOrientation; import com.tacoid.pweek.SoundPlayer.SoundType; import com.tacoid.pweek.screens.GameScreen; import com.tacoid.pweekmini.SwingMenu; public class PauseMenu extends Group { private IActivityRequestHandler handler; private GameScreen gameScreen; private SwingMenu menu; private class ContinueButton extends Button { public ContinueButton(TextureRegion region) { super(new TextureRegionDrawable(region)); setX(100); addListener(new InputListener() { @Override public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) { SoundPlayer.getInstance().playSound(SoundType.TOUCH_MENU, 0.5f, true); return true; } @Override public void touchUp(InputEvent event, float x, float y, int pointer, int button) { handler.showAds(false); hide(); } }); } } private class QuitButton extends Button{ public QuitButton(TextureRegion region) { super(new TextureRegionDrawable(region)); setX(800); addListener(new InputListener() { @Override public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) { SoundPlayer.getInstance().playSound(SoundType.TOUCH_MENU, 0.5f, true); return true; } @Override public void touchUp(InputEvent event, float x, float y, int pointer, int button) { gameScreen.quit(); } }); } } public PauseMenu(TextureAtlas atlasPlank, GameScreen gameScreen, IActivityRequestHandler handler, ScreenOrientation orientation, boolean hidden) { TextureRegion continueRegion = atlasPlank.findRegion("continuer"); TextureRegion quitRegion = atlasPlank.findRegion("quitter"); this.handler = handler; menu = new SwingMenu(); menu.initBegin("pause"); menu.addButton(new ContinueButton(continueRegion)); menu.addButton(new QuitButton(quitRegion)); menu.initEnd(); if (hidden) { menu.hide(); } this.addActor(menu); this.gameScreen = gameScreen; setVisible(true); } public void show() { handler.showAds(true); gameScreen.gamePause(); menu.show("pause"); } public void hide() { gameScreen.gameResume(); menu.hideInstant(); } }