// Path: core/src/com/laststandstudio/space/Levels/Test.java
// public class Test extends Overlap2DStage {
// 
//     public Test() {
//         try {
//             initSceneLoader();
//             sceneLoader.loadScene("SplashScreen");
//             addActor(sceneLoader.getRoot());
//         } catch (Exception e) {
//             SpaceShooter.logger.logError(e.getMessage());
//         }
//     }
// }
// 
// Path: core/src/com/laststandstudio/space/SpaceShooter.java
// public class SpaceShooter extends Game {
// 
//     public static final String BUILD_VERSION = "v0.0.2-alpha";
// 
//     public static AssetManager assetManager;
//     public static boolean debug;
//     public static MusicManager musicManager;
//     public static Logger logger;
//     public static List<SpaceShooterAddon> addons;
//     public static GameMode mode;
//     public static StartupOptions startupOptions;
// 
//     public enum GameMode {
//         INITIALIZATION,
//         MENU_MAIN,
//         MENU_PAUSE,
//         RUNNING_SINGLEPLAYER,
//         RUNNING_MULTIPLAYER,
//         CLOSING,
//         HALTED,
//     }
// 
//     private String[] mix = {
//             "music/TSLASH_Mixtape/rain.ogg",
//             "music/TSLASH_Mixtape/dawn.ogg",
//             "music/TSLASH_Mixtape/wanted.ogg",
//     };
// 
// 
//     public SpaceShooter(StartupOptions startupOptions) {
//         SpaceShooter.startupOptions = startupOptions;
//         debug = startupOptions.debug;
//     }
// 
// 
//     @Override
//     public void create() {
//         mode = GameMode.INITIALIZATION;
//         logger = new Logger();
//         SpaceShooter.logger.logDebug("DEBUGGING MODE ACTIVATED");
//         SpaceShooter.logger.logDebug("Current Version = " + BUILD_VERSION);
//         logger.logDebug("Building Game Instance");
//         assetManager = new AssetManager();
//         setCursor("menus/slick_arrow-delta.png");
//         musicManager = new MusicManager(mix);
//         logger.logDebug("Setting Screen to 'Splash Screen'");
//         setScreen(new SplashScreen(this));
//     }
// 
//     @Override
//     public void render() {
//         super.render();
//         musicManager.update();
//     }
// 
//     @Override
//     public void dispose() {
//         logger.logDebug("Destroying Space Game Instance");
//         musicManager.dispose();
//         super.dispose();
//     }
// 
//     private void setCursor(String fileLoc) {
//         Pixmap cursor = new Pixmap(Gdx.files.internal(fileLoc));
//         Gdx.input.setCursorImage(cursor, 0, 0);
//         cursor.dispose();
//     }
// }


import com.badlogic.gdx.Game;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.audio.Sound;
import com.badlogic.gdx.graphics.Color;
import com.badlogic.gdx.graphics.GL20;
import com.badlogic.gdx.graphics.Pixmap;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.g2d.BitmapFont;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
import com.badlogic.gdx.scenes.scene2d.Actor;
import com.badlogic.gdx.scenes.scene2d.Stage;
import com.badlogic.gdx.scenes.scene2d.ui.Label;
import com.badlogic.gdx.scenes.scene2d.ui.Skin;
import com.badlogic.gdx.scenes.scene2d.ui.Table;
import com.badlogic.gdx.scenes.scene2d.ui.TextButton;
import com.badlogic.gdx.scenes.scene2d.utils.ChangeListener;
import com.laststandstudio.space.Levels.Test;
import com.laststandstudio.space.SpaceShooter;
import com.laststandstudio.space.engine.Level;

    @Override
    public void show() {
        SpaceShooter.musicManager.play();
        SpaceShooter.logger.logDebug("Main Menu: Loading Assets");
        SpaceShooter.assetManager.load("menus/MenuSelectionClick.wav", Sound.class);
        SpaceShooter.assetManager.load("menus/background.png", Texture.class);
        SpaceShooter.assetManager.finishLoading();
        this.menuClick = SpaceShooter.assetManager.get("menus/MenuSelectionClick.wav");

        SpaceShooter.logger.logDebug("Main Menu: Building the Table of Buttons w/ the Title");
        table.add(title).pad(PADDING * 4).row();
        table.add(btnSinglePlayer).pad(PADDING).row();
        table.add(btnMultiplayer).pad(PADDING).row();
        table.add(btnOptions).pad(PADDING).row();
        table.add(btnTexturePacks).pad(PADDING).row();
        table.add(btnMods).pad(PADDING).row();
        table.add(btnExit).pad(PADDING).row();
        table.setFillParent(true);

        stage.addActor(table);

        SpaceShooter.logger.logDebug("Main Menu: Setting Button Listeners");
        btnSinglePlayer.addListener(new ChangeListener() {
            public void changed(ChangeEvent event, Actor actor) {
                menuClick.play();
                btnSinglePlayer.setText("Loading Single Player Menu");
                SpaceShooter.logger.logDebug("Loading Single Player Menu");
                //TODO : load level select.
                //game.setScreen(new SinglePlayerMenu(game, instance));
// Path: core/src/com/laststandstudio/space/Levels/Test.java
// public class Test extends Overlap2DStage {
// 
//     public Test() {
//         try {
//             initSceneLoader();
//             sceneLoader.loadScene("SplashScreen");
//             addActor(sceneLoader.getRoot());
//         } catch (Exception e) {
//             SpaceShooter.logger.logError(e.getMessage());
//         }
//     }
// }
// 
// Path: core/src/com/laststandstudio/space/SpaceShooter.java
// public class SpaceShooter extends Game {
// 
//     public static final String BUILD_VERSION = "v0.0.2-alpha";
// 
//     public static AssetManager assetManager;
//     public static boolean debug;
//     public static MusicManager musicManager;
//     public static Logger logger;
//     public static List<SpaceShooterAddon> addons;
//     public static GameMode mode;
//     public static StartupOptions startupOptions;
// 
//     public enum GameMode {
//         INITIALIZATION,
//         MENU_MAIN,
//         MENU_PAUSE,
//         RUNNING_SINGLEPLAYER,
//         RUNNING_MULTIPLAYER,
//         CLOSING,
//         HALTED,
//     }
// 
//     private String[] mix = {
//             "music/TSLASH_Mixtape/rain.ogg",
//             "music/TSLASH_Mixtape/dawn.ogg",
//             "music/TSLASH_Mixtape/wanted.ogg",
//     };
// 
// 
//     public SpaceShooter(StartupOptions startupOptions) {
//         SpaceShooter.startupOptions = startupOptions;
//         debug = startupOptions.debug;
//     }
// 
// 
//     @Override
//     public void create() {
//         mode = GameMode.INITIALIZATION;
//         logger = new Logger();
//         SpaceShooter.logger.logDebug("DEBUGGING MODE ACTIVATED");
//         SpaceShooter.logger.logDebug("Current Version = " + BUILD_VERSION);
//         logger.logDebug("Building Game Instance");
//         assetManager = new AssetManager();
//         setCursor("menus/slick_arrow-delta.png");
//         musicManager = new MusicManager(mix);
//         logger.logDebug("Setting Screen to 'Splash Screen'");
//         setScreen(new SplashScreen(this));
//     }
// 
//     @Override
//     public void render() {
//         super.render();
//         musicManager.update();
//     }
// 
//     @Override
//     public void dispose() {
//         logger.logDebug("Destroying Space Game Instance");
//         musicManager.dispose();
//         super.dispose();
//     }
// 
//     private void setCursor(String fileLoc) {
//         Pixmap cursor = new Pixmap(Gdx.files.internal(fileLoc));
//         Gdx.input.setCursorImage(cursor, 0, 0);
//         cursor.dispose();
//     }
// }


// Path: core/src/com/laststandstudio/space/Levels/Menus/MainMenu.java
import com.badlogic.gdx.Game;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.audio.Sound;
import com.badlogic.gdx.graphics.Color;
import com.badlogic.gdx.graphics.GL20;
import com.badlogic.gdx.graphics.Pixmap;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.g2d.BitmapFont;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
import com.badlogic.gdx.scenes.scene2d.Actor;
import com.badlogic.gdx.scenes.scene2d.Stage;
import com.badlogic.gdx.scenes.scene2d.ui.Label;
import com.badlogic.gdx.scenes.scene2d.ui.Skin;
import com.badlogic.gdx.scenes.scene2d.ui.Table;
import com.badlogic.gdx.scenes.scene2d.ui.TextButton;
import com.badlogic.gdx.scenes.scene2d.utils.ChangeListener;
import com.laststandstudio.space.Levels.Test;
import com.laststandstudio.space.SpaceShooter;
import com.laststandstudio.space.engine.Level;


    @Override
    public void show() {
        SpaceShooter.musicManager.play();
        SpaceShooter.logger.logDebug("Main Menu: Loading Assets");
        SpaceShooter.assetManager.load("menus/MenuSelectionClick.wav", Sound.class);
        SpaceShooter.assetManager.load("menus/background.png", Texture.class);
        SpaceShooter.assetManager.finishLoading();
        this.menuClick = SpaceShooter.assetManager.get("menus/MenuSelectionClick.wav");

        SpaceShooter.logger.logDebug("Main Menu: Building the Table of Buttons w/ the Title");
        table.add(title).pad(PADDING * 4).row();
        table.add(btnSinglePlayer).pad(PADDING).row();
        table.add(btnMultiplayer).pad(PADDING).row();
        table.add(btnOptions).pad(PADDING).row();
        table.add(btnTexturePacks).pad(PADDING).row();
        table.add(btnMods).pad(PADDING).row();
        table.add(btnExit).pad(PADDING).row();
        table.setFillParent(true);

        stage.addActor(table);

        SpaceShooter.logger.logDebug("Main Menu: Setting Button Listeners");
        btnSinglePlayer.addListener(new ChangeListener() {
            public void changed(ChangeEvent event, Actor actor) {
                menuClick.play();
                btnSinglePlayer.setText("Loading Single Player Menu");
                SpaceShooter.logger.logDebug("Loading Single Player Menu");
                //TODO : load level select.
                //game.setScreen(new SinglePlayerMenu(game, instance));
                stage = new Test();