Example usage for com.badlogic.gdx.graphics.glutils ShapeRenderer ShapeRenderer

List of usage examples for com.badlogic.gdx.graphics.glutils ShapeRenderer ShapeRenderer

Introduction

In this page you can find the example usage for com.badlogic.gdx.graphics.glutils ShapeRenderer ShapeRenderer.

Prototype

public ShapeRenderer() 

Source Link

Usage

From source file:net.dermetfan.same.systems.shapes.ShapeRendererSystem.java

License:Apache License

/** @return a new {@link ShapeRenderer} */
@Override
public ShapeRenderer newResource() {
    return new ShapeRenderer();
}

From source file:net.noviden.towerdefense.MapCreator.MapCreatorScreen.java

License:Open Source License

public MapCreatorScreen(final TowerDefense towerDefense) {
    this.towerDefense = towerDefense;

    camera = new OrthographicCamera();
    camera.setToOrtho(true, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
    camera.update();/*from w  ww. ja  v  a  2s. c  o m*/

    stage = new Stage();

    final Skin skin = new Skin(Gdx.files.internal("assets/uiskin.json"));

    table = new Table();
    table.setFillParent(true);

    name = UUID.randomUUID().toString().substring(0, 5);

    Label nameLabel = new Label("Name:", skin);
    final TextField nameField = new TextField(name, skin);
    TextButton addPathButton = new TextButton("Add New Path", skin);
    TextButton undoButton = new TextButton("Remove Last Point", skin);
    TextButton finishButton = new TextButton("Save Map", skin);
    TextButton exitButton = new TextButton("Exit", skin);

    final TextButton displayOptionsButton = new TextButton("Options", skin);

    // set up options table
    final Table optionsTable = new Table();
    optionsTable.setVisible(false);

    Label initialPlayerHealthLabel = new Label("Initial Player Health:", skin);
    final TextField initialPlayerHealthText = new TextField("" + MapSettings.DEFAULT_INITIAL_PLAYER_HEALTH,
            skin);
    Label initialPlayerResourcesLabel = new Label("Initial Player Resources:", skin);
    final TextField initialPlayerResourcesText = new TextField(
            "" + MapSettings.DEFAULT_INITIAL_PLAYER_RESOURCES, skin);
    Label initialUnitHealthLabel = new Label("Initial Unit Health:", skin);
    final TextField initialUnitHealthText = new TextField("" + MapSettings.DEFAULT_INITIAL_UNIT_HEALTH, skin);
    Label initialUnitMovementSpeedLabel = new Label("Initial Unit Movement Speed:", skin);
    final TextField initialUnitMovementSpeedText = new TextField("" + MapSettings.DEFAULT_INITIAL_UNIT_SPEED,
            skin);
    Label initialUnitDamageLabel = new Label("Initial Unit Damage:", skin);
    final TextField initialUnitDamageText = new TextField("" + MapSettings.DEFAULT_INITIAL_UNIT_DAMAGE, skin);
    Label defaultUnitSpawnRateLabel = new Label("Unit Spawn Rate:", skin);
    final TextField defaultUnitSpawnRateText = new TextField("" + MapSettings.DEFAULT_UNIT_SPAWN_RATE, skin);

    TextButton displayWavesCreatorButton = new TextButton("Waves Creator", skin);
    TextButton displayTurretsButton = new TextButton("Disable Turrets", skin);

    optionsTable.add(initialPlayerHealthLabel, initialPlayerHealthText);
    optionsTable.row();
    optionsTable.add(initialPlayerResourcesLabel, initialPlayerResourcesText);
    optionsTable.row();
    optionsTable.add(initialUnitHealthLabel, initialUnitHealthText);
    optionsTable.row();
    optionsTable.add(initialUnitMovementSpeedLabel, initialUnitMovementSpeedText);
    optionsTable.row();
    optionsTable.add(initialUnitDamageLabel, initialUnitDamageText);
    optionsTable.row();
    optionsTable.add(defaultUnitSpawnRateLabel, defaultUnitSpawnRateText);
    optionsTable.row();
    optionsTable.add(displayTurretsButton);

    final Table disableTurretsTable = new Table();
    disableTurretsTable.setVisible(false);

    final CheckBox disableChaingunTurretCheckbox = new CheckBox("Disable Chaingun", skin);
    final CheckBox disableBasicTurretCheckbox = new CheckBox("Disable Basic", skin);
    final CheckBox disableBuffTurretCheckbox = new CheckBox("Disable Buff", skin);
    final CheckBox disableHomingTurretCheckbox = new CheckBox("Disable Homing", skin);
    final CheckBox disableRocketTurretCheckbox = new CheckBox("Disable Rocket", skin);
    final CheckBox disableShotgunTurretCheckbox = new CheckBox("Disable Shotgun", skin);

    disableTurretsTable.add(disableChaingunTurretCheckbox);
    disableTurretsTable.row();
    disableTurretsTable.add(disableBasicTurretCheckbox);
    disableTurretsTable.row();
    disableTurretsTable.add(disableBuffTurretCheckbox);
    disableTurretsTable.row();
    disableTurretsTable.add(disableHomingTurretCheckbox);
    disableTurretsTable.row();
    disableTurretsTable.add(disableRocketTurretCheckbox);
    disableTurretsTable.row();
    disableTurretsTable.add(disableShotgunTurretCheckbox);

    optionsTable.row();
    optionsTable.add(disableTurretsTable);

    table.add(addPathButton);
    table.add(undoButton);
    table.add(finishButton);
    table.add(exitButton);
    table.row();
    table.add(nameLabel, nameField);
    table.add(displayOptionsButton);
    table.row();
    table.add(optionsTable);

    table.top();
    table.right();

    stage.addActor(table);

    inputMultiplexer = new InputMultiplexer();
    inputMultiplexer.addProcessor(stage);
    inputMultiplexer.addProcessor(new GestureDetector(new MyGestureListener()));

    Gdx.input.setInputProcessor(inputMultiplexer);

    addPathButton.addListener(new ClickListener() {
        @Override
        public void clicked(InputEvent event, float x, float y) {
            // remove last point in set
            if (pointSet.size() > 1) {
                // valid to create a new path
                paths.push(new Path(pointSet, 5.0f));
                System.out.println("Added a path to paths Stack");
                pointSet = new ArrayList<Point>();
            } else {
                Dialog errorDialog = new Dialog("Error!", skin);
                errorDialog.text("Error! Must finish one path before starting another!");
                errorDialog.button("Ok");
                errorDialog.show(stage);
            }
        }
    });

    undoButton.addListener(new ClickListener() {
        @Override
        public void clicked(InputEvent event, float x, float y) {
            // remove last point in set
            if (pointSet.size() > 0) {
                pointSet.remove(pointSet.size() - 1);
            } else {
                if (paths.size() > 0) {
                    Path path = paths.pop();
                    pointSet = (ArrayList<Point>) path.set.clone();
                    System.out.println("Popped from paths");
                }
            }
        }
    });

    exitButton.addListener(new ClickListener() {
        @Override
        public void clicked(InputEvent event, float x, float y) {
            towerDefense.setScreen(new MapEditorSelectorScreen(towerDefense));
            dispose();
        }
    });

    finishButton.addListener(new ClickListener() {
        @Override
        public void clicked(InputEvent event, float x, float y) {

            if (paths.size() == 0 && pointSet.size() < 2) {
                displayErrorMessage("Error! Each path must have at least an entrance and exit", skin);
                return;
            }

            // create settings for map
            int playerHealth = Integer.parseInt(initialPlayerHealthText.getText()),
                    playerResources = Integer.parseInt(initialPlayerResourcesText.getText()),
                    unitDamage = Integer.parseInt(initialUnitDamageText.getText());
            float unitHealth = Float.parseFloat(initialUnitHealthText.getText()),
                    unitSpeed = Float.parseFloat(initialUnitMovementSpeedText.getText()),
                    unitSpawnRate = Float.parseFloat(defaultUnitSpawnRateText.getText());

            // validation
            if (playerHealth <= 0.0f) {
                displayErrorMessage("Error! Player cannot start with 0.0 health", skin);
                return;
            } else if (unitHealth <= 0.0f) {
                displayErrorMessage("Error! Units cannot start with 0.0 health", skin);
                return;
            } else if (unitDamage <= 0.0f) {
                displayErrorMessage("Error! Units cannot start with 0.0 damage", skin);
                return;
            } else if (unitSpeed <= 0.0f) {
                displayErrorMessage("Error! Units cannot start with 0.0 speed", skin);
                return;
            } else if (unitSpawnRate <= 0.0f) {
                displayErrorMessage("Error! Spawn rate cannot be 0.0", skin);
                return;
            }

            ArrayList<BaseTurret.Type> disabledTypes = new ArrayList<BaseTurret.Type>();

            if (disableBasicTurretCheckbox.isChecked()) {
                disabledTypes.add(BaseTurret.Type.NORMAL);
            }
            if (disableBuffTurretCheckbox.isChecked()) {
                disabledTypes.add(BaseTurret.Type.BUFF);
            }
            if (disableChaingunTurretCheckbox.isChecked()) {
                disabledTypes.add(BaseTurret.Type.CHAINGUN);
            }
            if (disableHomingTurretCheckbox.isChecked()) {
                disabledTypes.add(BaseTurret.Type.HOMING);
            }
            if (disableRocketTurretCheckbox.isChecked()) {
                disabledTypes.add(BaseTurret.Type.ROCKET);
            }
            if (disableShotgunTurretCheckbox.isChecked()) {
                disabledTypes.add(BaseTurret.Type.SHOTGUN);
            }

            if (disabledTypes.size() == BaseTurret.Type.values().length) {
                displayErrorMessage("Error! Cannot disable all turrets", skin);
                return;
            }

            MapSettings mapSettings = new MapSettings();

            BaseTurret.Type[] disabledTypesArr = new BaseTurret.Type[disabledTypes.size()];
            disabledTypesArr = disabledTypes.toArray(disabledTypesArr);

            mapSettings.setDisabledTurretTypes(disabledTypesArr);

            String[] keys = { MapSettings.PLAYER_INITIAL_HEALTH_KEY, MapSettings.PLAYER_INITIAL_RESOURCES_KEY,
                    MapSettings.UNIT_INITIAL_DAMAGE_KEY, MapSettings.UNIT_INITIAL_HEALTH_KEY,
                    MapSettings.UNIT_INITIAL_SPEED_KEY, MapSettings.UNIT_SPAWN_RATE_KEY };

            float[] values = { playerHealth, playerResources, unitDamage, unitHealth, unitSpeed,
                    unitSpawnRate };

            mapSettings.putValues(keys, values);

            // make sure current pointSet is included in new map
            if (pointSet.size() > 1) {
                paths.push(new Path(pointSet, 5.0f));
            }

            // convert stack to array
            Path[] pathsForMap = new Path[paths.size()];
            int i = 0;
            while (!paths.empty()) {
                pathsForMap[i++] = paths.pop();
            }

            // finally create the map
            Map map = new Map(new Map.Dimensions(Gdx.graphics.getWidth(), Gdx.graphics.getHeight()),
                    pathsForMap, nameField.getText(), mapSettings);

            towerDefense.maps.add(map);

            // return to main menu
            towerDefense.setScreen(new MapEditorSelectorScreen(towerDefense));
            dispose();
        }
    });

    displayOptionsButton.addListener(new ClickListener() {
        @Override
        public void clicked(InputEvent event, float x, float y) {
            if (optionsTable.isVisible()) {
                optionsTable.setVisible(false);
                //                    disableTurretsTable.setVisible(false);
            } else {
                optionsTable.setVisible(true);
            }
        }
    });

    displayTurretsButton.addListener(new ClickListener() {
        @Override
        public void clicked(InputEvent event, float x, float y) {
            if (disableTurretsTable.isVisible()) {
                disableTurretsTable.setVisible(false);
            } else {
                disableTurretsTable.setVisible(true);
            }
        }
    });

    pointSet = new ArrayList<Point>();
    paths = new Stack<Path>();

    batch = new SpriteBatch();
    shapeRenderer = new ShapeRenderer();
}

From source file:net.noviden.towerdefense.MapEditor.MapEditorScreen.java

License:Open Source License

public MapEditorScreen(final TowerDefense towerDefense, Map pMap) {
    _towerDefense = towerDefense;//from w  w w . ja v  a  2 s.  co m
    _originalMapReference = pMap;
    _map = pMap.clone();

    _orthoCamera = new OrthographicCamera();
    _orthoCamera.setToOrtho(true, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
    _orthoCamera.update();

    _spriteBatch = new SpriteBatch();
    _shapeRenderer = new ShapeRenderer();
    _shapeRenderer.setAutoShapeType(true);

    // make use of map settings to have units travel slightly faster, for display niceties
    _mapSettings = new MapSettings();
    _mapSettings.putValue(MapSettings.UNIT_INITIAL_SPEED_KEY, 150.0f);

    // set units display to true initially
    _displayUnits = true;

    // instantiate/create unit managers for paths
    resetUnitManagers();

    // there must exist at least one path if we are EDITING an existing map
    _selectedPathIndex = 0;

    final Skin skin = new Skin(Gdx.files.internal("assets/uiskin.json"));

    stage = new Stage();

    rootTable = new Table();
    rootTable.setFillParent(true);

    Table pathAddDeleteTable = new Table();

    TextButton saveButton = new TextButton("Save", skin);
    TextButton exitButton = new TextButton("Exit Without Saving", skin);
    TextButton addPathButton = new TextButton("Add Path", skin);
    TextButton deletePathButton = new TextButton("Delete Current Path", skin);
    TextButton deleteLastNodeOnPathButton = new TextButton("Delete End Node", skin);
    TextButton displayOptionsButton = new TextButton("Options", skin);
    TextButton toggleUnitsDisplayButton = new TextButton("Toggle Units Display", skin);

    pathAddDeleteTable.add(deletePathButton);
    pathAddDeleteTable.add(addPathButton);
    pathAddDeleteTable.add(saveButton);
    pathAddDeleteTable.add(exitButton);
    pathAddDeleteTable.row();
    pathAddDeleteTable.add(deleteLastNodeOnPathButton).expandX().left();
    pathAddDeleteTable.add(displayOptionsButton);
    pathAddDeleteTable.add(toggleUnitsDisplayButton);

    Table pathSelectorTable = new Table();

    Texture leftArrowTexture = new Texture(Gdx.files.internal("leftArrow.png"));
    Image leftArrowImage = new Image(leftArrowTexture);
    Texture rightArrowTexture = new Texture(Gdx.files.internal("rightArrow.png"));
    Image rightArrowImage = new Image(rightArrowTexture);

    final Label selectedPathLabel = new Label("0", skin);

    pathSelectorTable.add(leftArrowImage).pad(8.0f);
    pathSelectorTable.add(selectedPathLabel).pad(8.0f);
    pathSelectorTable.add(rightArrowImage).pad(8.0f);

    // options table

    // set up options table
    final Table optionsTable = new Table();
    optionsTable.setVisible(false);

    MapSettings currentSettings = _map.getSettings();

    Label initialPlayerHealthLabel = new Label("Initial Player Health:", skin);
    final TextField initialPlayerHealthText = new TextField(
            "" + (int) currentSettings.getValue(MapSettings.PLAYER_INITIAL_HEALTH_KEY), skin);
    Label initialPlayerResourcesLabel = new Label("Initial Player Resources:", skin);
    final TextField initialPlayerResourcesText = new TextField(
            "" + (int) currentSettings.getValue(MapSettings.PLAYER_INITIAL_RESOURCES_KEY), skin);
    Label initialUnitHealthLabel = new Label("Initial Unit Health:", skin);
    final TextField initialUnitHealthText = new TextField(
            "" + currentSettings.getValue(MapSettings.UNIT_INITIAL_HEALTH_KEY), skin);
    Label initialUnitMovementSpeedLabel = new Label("Initial Unit Movement Speed:", skin);
    final TextField initialUnitMovementSpeedText = new TextField(
            "" + currentSettings.getValue(MapSettings.UNIT_INITIAL_SPEED_KEY), skin);
    Label initialUnitDamageLabel = new Label("Initial Unit Damage:", skin);
    final TextField initialUnitDamageText = new TextField(
            "" + (int) currentSettings.getValue(MapSettings.UNIT_INITIAL_DAMAGE_KEY), skin);
    Label defaultUnitSpawnRateLabel = new Label("Unit Spawn Rate:", skin);
    final TextField defaultUnitSpawnRateText = new TextField(
            "" + currentSettings.getValue(MapSettings.UNIT_SPAWN_RATE_KEY), skin);

    // TODO Implement this button
    TextButton displayWavesCreatorButton = new TextButton("Waves Creator", skin);
    TextButton displayTurretsButton = new TextButton("Disable Turrets", skin);

    optionsTable.add(initialPlayerHealthLabel, initialPlayerHealthText);
    optionsTable.row();
    optionsTable.add(initialPlayerResourcesLabel, initialPlayerResourcesText);
    optionsTable.row();
    optionsTable.add(initialUnitHealthLabel, initialUnitHealthText);
    optionsTable.row();
    optionsTable.add(initialUnitMovementSpeedLabel, initialUnitMovementSpeedText);
    optionsTable.row();
    optionsTable.add(initialUnitDamageLabel, initialUnitDamageText);
    optionsTable.row();
    optionsTable.add(defaultUnitSpawnRateLabel, defaultUnitSpawnRateText);
    optionsTable.row();
    optionsTable.add(displayTurretsButton);

    final Table disableTurretsTable = new Table();
    disableTurretsTable.setVisible(false);

    final CheckBox disableChaingunTurretCheckbox = new CheckBox("Disable Chaingun", skin);
    disableChaingunTurretCheckbox.setChecked(currentSettings.isTurretTypeDisabled(BaseTurret.Type.CHAINGUN));

    final CheckBox disableBasicTurretCheckbox = new CheckBox("Disable Basic", skin);
    disableBasicTurretCheckbox.setChecked(currentSettings.isTurretTypeDisabled(BaseTurret.Type.NORMAL));

    final CheckBox disableBuffTurretCheckbox = new CheckBox("Disable Buff", skin);
    disableBuffTurretCheckbox.setChecked(currentSettings.isTurretTypeDisabled(BaseTurret.Type.BUFF));

    final CheckBox disableHomingTurretCheckbox = new CheckBox("Disable Homing", skin);
    disableHomingTurretCheckbox.setChecked(currentSettings.isTurretTypeDisabled(BaseTurret.Type.HOMING));

    final CheckBox disableRocketTurretCheckbox = new CheckBox("Disable Rocket", skin);
    disableRocketTurretCheckbox.setChecked(currentSettings.isTurretTypeDisabled(BaseTurret.Type.ROCKET));

    final CheckBox disableShotgunTurretCheckbox = new CheckBox("Disable Shotgun", skin);
    disableShotgunTurretCheckbox.setChecked(currentSettings.isTurretTypeDisabled(BaseTurret.Type.SHOTGUN));

    disableTurretsTable.add(disableChaingunTurretCheckbox);
    disableTurretsTable.row();
    disableTurretsTable.add(disableBasicTurretCheckbox);
    disableTurretsTable.row();
    disableTurretsTable.add(disableBuffTurretCheckbox);
    disableTurretsTable.row();
    disableTurretsTable.add(disableHomingTurretCheckbox);
    disableTurretsTable.row();
    disableTurretsTable.add(disableRocketTurretCheckbox);
    disableTurretsTable.row();
    disableTurretsTable.add(disableShotgunTurretCheckbox);

    // transformations table
    TextButton displayTransformationsTableButton = new TextButton("Enable Transformations", skin);

    CheckBox enableRandomTransformationCheckbox = new CheckBox("Random", skin);
    CheckBox enableTurretTransformationCheckbox = new CheckBox("Turret", skin);
    CheckBox enableUnitTransformationCheckbox = new CheckBox("Unit", skin);

    final Table transformationsTable = new Table();
    transformationsTable.setVisible(false);

    transformationsTable.add(enableRandomTransformationCheckbox).row();
    transformationsTable.add(enableTurretTransformationCheckbox).row();
    transformationsTable.add(enableUnitTransformationCheckbox).row();

    optionsTable.row();
    optionsTable.add(disableTurretsTable);
    optionsTable.row();
    optionsTable.add(displayTransformationsTableButton);
    optionsTable.row();
    optionsTable.add(transformationsTable);

    // finally, add tables to root table and set input processing

    rootTable.add(pathSelectorTable).expandX().left().expandY().top();

    rootTable.add(pathAddDeleteTable).expandX().right().expandY().top();

    rootTable.row();

    rootTable.add(optionsTable).expandX().right().expandY().top();

    stage.addActor(rootTable);

    inputMultiplexer = new InputMultiplexer(stage, new GestureDetector(new MyGestureListener()));

    Gdx.input.setInputProcessor(inputMultiplexer);

    // listeners
    saveButton.addListener(new ClickListener() {
        @Override
        public void clicked(InputEvent event, float x, float y) {
            int index = _towerDefense.maps.indexOf(_originalMapReference);
            String message = "";

            int playerHealth = Integer.parseInt(initialPlayerHealthText.getText()),
                    playerResources = Integer.parseInt(initialPlayerResourcesText.getText()),
                    unitDamage = Integer.parseInt(initialUnitDamageText.getText());
            float unitHealth = Float.parseFloat(initialUnitHealthText.getText()),
                    unitSpeed = Float.parseFloat(initialUnitMovementSpeedText.getText()),
                    unitSpawnRate = Float.parseFloat(defaultUnitSpawnRateText.getText());

            // validation
            if (playerHealth <= 0.0f) {
                displayErrorMessage("Error! Player cannot start with 0.0 health", skin);
                return;
            } else if (unitHealth <= 0.0f) {
                displayErrorMessage("Error! Units cannot start with 0.0 health", skin);
                return;
            } else if (unitDamage <= 0.0f) {
                displayErrorMessage("Error! Units cannot start with 0.0 damage", skin);
                return;
            } else if (unitSpeed <= 0.0f) {
                displayErrorMessage("Error! Units cannot start with 0.0 speed", skin);
                return;
            } else if (unitSpawnRate <= 0.0f) {
                displayErrorMessage("Error! Spawn rate cannot be 0.0", skin);
                return;
            }

            ArrayList<BaseTurret.Type> disabledTypes = new ArrayList<BaseTurret.Type>();

            if (disableBasicTurretCheckbox.isChecked()) {
                disabledTypes.add(BaseTurret.Type.NORMAL);
            }
            if (disableBuffTurretCheckbox.isChecked()) {
                disabledTypes.add(BaseTurret.Type.BUFF);
            }
            if (disableChaingunTurretCheckbox.isChecked()) {
                disabledTypes.add(BaseTurret.Type.CHAINGUN);
            }
            if (disableHomingTurretCheckbox.isChecked()) {
                disabledTypes.add(BaseTurret.Type.HOMING);
            }
            if (disableRocketTurretCheckbox.isChecked()) {
                disabledTypes.add(BaseTurret.Type.ROCKET);
            }
            if (disableShotgunTurretCheckbox.isChecked()) {
                disabledTypes.add(BaseTurret.Type.SHOTGUN);
            }

            if (disabledTypes.size() == BaseTurret.Type.values().length) {
                displayErrorMessage("Error! Cannot disable all turrets", skin);
                return;
            }

            MapSettings mapSettings = new MapSettings();

            BaseTurret.Type[] disabledTypesArr = new BaseTurret.Type[disabledTypes.size()];
            disabledTypesArr = disabledTypes.toArray(disabledTypesArr);

            mapSettings.setDisabledTurretTypes(disabledTypesArr);

            String[] keys = { MapSettings.PLAYER_INITIAL_HEALTH_KEY, MapSettings.PLAYER_INITIAL_RESOURCES_KEY,
                    MapSettings.UNIT_INITIAL_DAMAGE_KEY, MapSettings.UNIT_INITIAL_HEALTH_KEY,
                    MapSettings.UNIT_INITIAL_SPEED_KEY, MapSettings.UNIT_SPAWN_RATE_KEY };

            float[] values = { playerHealth, playerResources, unitDamage, unitHealth, unitSpeed,
                    unitSpawnRate };

            mapSettings.putValues(keys, values);

            // save settings to map
            _map.setSettings(mapSettings);

            // finally, save map
            if (index >= 0) {
                _towerDefense.maps.set(index, _map);
                message = "Saved over old map.";
            } else {
                _towerDefense.maps.add(_map);
                message = "Something weird happened, saved new copy of map.";
            }

            _originalMapReference = _map;
            _map = _map.clone();

            Dialog saveSucceeded = new Dialog("Success!", skin);
            saveSucceeded.text(message);
            saveSucceeded.button("Continue");
            saveSucceeded.show(stage);
        }
    });

    exitButton.addListener(new ClickListener() {
        @Override
        public void clicked(InputEvent event, float x, float y) {
            _towerDefense.setScreen(new MapEditorSelectorScreen(_towerDefense));
            dispose();
        }
    });

    addPathButton.addListener(new ClickListener() {
        @Override
        public void clicked(InputEvent event, float x, float y) {
            Path[] paths = _map.getPaths();

            // make a copy of old paths array, and add a new path to the end
            Path[] updatedPaths = new Path[paths.length + 1];

            for (int i = 0; i < paths.length; i++) {
                updatedPaths[i] = paths[i];
            }

            updatedPaths[updatedPaths.length - 1] = new Path(new ArrayList<Point>(), 5.0f); // TODO remove magic number

            _map.setPaths(updatedPaths);

            _selectedPathIndex = updatedPaths.length - 1;
            resetUnitManagers();

            selectedPathLabel.setText("" + _selectedPathIndex);
        }
    });

    deletePathButton.addListener(new ClickListener() {
        @Override
        public void clicked(InputEvent event, float x, float y) {
            Path[] paths = _map.getPaths();

            if (paths.length < 1) {
                return;
            }

            // make a new array and set it to the map
            Path[] updatedPaths = new Path[paths.length - 1];
            int offset = 0;

            for (int i = 0; i < paths.length; i++) {
                if (i == _selectedPathIndex) {
                    offset = -1;

                    continue;
                }

                updatedPaths[i + offset] = paths[i];
            }

            _map.setPaths(updatedPaths);
            resetUnitManagers();
            if (_selectedPathIndex > 0) {
                _selectedPathIndex--;
            }

            selectedPathLabel.setText("" + _selectedPathIndex);
        }
    });

    deleteLastNodeOnPathButton.addListener(new ClickListener() {
        @Override
        public void clicked(InputEvent event, float x, float y) {
            Path[] paths = _map.getGenericPaths();

            if (_selectedPathIndex >= paths.length) {
                return;
            }

            Path selectedPath = paths[_selectedPathIndex];
            if (selectedPath.set.size() > 0) {
                selectedPath.set.remove(selectedPath.set.size() - 1);

                resetUnitManagers();
            }
        }
    });

    leftArrowImage.addListener(new ClickListener() {
        @Override
        public void clicked(InputEvent event, float x, float y) {
            if (_selectedPathIndex > 0) {
                _selectedPathIndex--;
                selectedPathLabel.setText("" + _selectedPathIndex);
            }
        }
    });

    rightArrowImage.addListener(new ClickListener() {
        @Override
        public void clicked(InputEvent event, float x, float y) {
            if (_selectedPathIndex < (_map.getPaths().length - 1)) {
                _selectedPathIndex++;
                selectedPathLabel.setText("" + _selectedPathIndex);
            }
        }
    });

    displayOptionsButton.addListener(new ClickListener() {
        @Override
        public void clicked(InputEvent event, float x, float y) {
            optionsTable.setVisible(!optionsTable.isVisible());
        }
    });

    displayTurretsButton.addListener(new ClickListener() {
        @Override
        public void clicked(InputEvent event, float x, float y) {
            disableTurretsTable.setVisible(!disableTurretsTable.isVisible());
        }
    });

    displayTransformationsTableButton.addListener(new ClickListener() {
        @Override
        public void clicked(InputEvent event, float x, float y) {
            transformationsTable.setVisible(!transformationsTable.isVisible());
        }
    });

    toggleUnitsDisplayButton.addListener(new ClickListener() {
        @Override
        public void clicked(InputEvent event, float x, float y) {
            _displayUnits = !_displayUnits;
        }
    });
}

From source file:net.noviden.towerdefense.Screens.GameScreen.java

License:Open Source License

public GameScreen(final TowerDefense towerDefense, Map gameMap) {

    // store our callback to the Game class
    this.towerDefense = towerDefense;

    // initialize our input vector here, to save the precious gc
    vector3 = new Vector3();
    // get the initial mouse location, where we draw the next turret to be created
    mouseLocation = new Point(Gdx.input.getX(), Gdx.input.getY());

    // get the map from the arguments
    map = gameMap;//  ww  w  . j  ava 2s. co m

    // create a unit manager for each path on this map
    Path[] paths = map.getPaths();
    unitManagers = new UnitManager[paths.length];
    for (int i = 0; i < paths.length; i++) {
        unitManagers[i] = new UnitManager(paths[i], map.getSettings());
    }

    turretManager = new TurretManager();
    player = new Player(gameMap.getSettings());
    MissileManager.initialize();

    // set up the camera
    // FIXME there's something fishy with this and the screen size
    orthoCamera = new OrthographicCamera();
    //      orthoCamera.setToOrtho(true, TowerDefense.SCREEN_WIDTH, TowerDefense.SCREEN_HEIGHT);
    //      orthoCamera.position.set(TowerDefense.SCREEN_WIDTH / 2, TowerDefense.SCREEN_HEIGHT / 2, 0);
    orthoCamera.setToOrtho(true, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());

    orthoCamera.update();

    // set up the ui by creating the base Stage, where the resources table, upgrade table,
    //    information table and other fun takes place
    stage = new Stage();

    Skin skin = new Skin(Gdx.files.internal("assets/uiskin.json"));

    rootTable = new Table();
    rootTable.setFillParent(true);
    stage.addActor(rootTable);

    TextButton exitButton = new TextButton("Main Menu", skin);
    exitButton.addListener(new ClickListener() {
        @Override
        public void clicked(InputEvent event, float x, float y) {
            towerDefense.setScreen(new MainMenuScreen(towerDefense));
        }
    });

    pauseButton = new TextButton("Pause", skin);
    pauseButton.addListener(new ClickListener() {
        @Override
        public void clicked(InputEvent event, float x, float y) {
            pauseGame();
        }
    });

    Table selectTypeTable = new Table();

    final TextButton buttonSelectBasicTurret = new TextButton("Basic (R50)", skin, "default");
    final TextButton buttonSelectChaingunTurret = new TextButton("Chaingun (R50)", skin);
    final TextButton buttonSelectShotgunTurret = new TextButton("Shotgun (R50)", skin);
    final TextButton buttonSelectRocketTurret = new TextButton("Rocket (R50)", skin);
    final TextButton buttonSelectHomingTurret = new TextButton("Homing (R50)", skin);
    final TextButton buttonSelectBuffTurret = new TextButton("Buff (R50)", skin);

    selectTurretButtons = new TextButton[] { buttonSelectBasicTurret, buttonSelectChaingunTurret,
            buttonSelectShotgunTurret, buttonSelectRocketTurret, buttonSelectHomingTurret,
            buttonSelectBuffTurret };

    if (!map.getSettings().isTurretTypeDisabled(BaseTurret.Type.NORMAL))
        selectTypeTable.add(buttonSelectBasicTurret);
    if (!map.getSettings().isTurretTypeDisabled(BaseTurret.Type.CHAINGUN))
        selectTypeTable.add(buttonSelectChaingunTurret);

    if (!map.getSettings().isTurretTypeDisabled(BaseTurret.Type.ROCKET))
        selectTypeTable.add(buttonSelectRocketTurret);
    if (!map.getSettings().isTurretTypeDisabled(BaseTurret.Type.SHOTGUN))
        selectTypeTable.add(buttonSelectShotgunTurret);

    if (!map.getSettings().isTurretTypeDisabled(BaseTurret.Type.HOMING))
        selectTypeTable.add(buttonSelectHomingTurret);
    if (!map.getSettings().isTurretTypeDisabled(BaseTurret.Type.BUFF))
        selectTypeTable.add(buttonSelectBuffTurret);

    buttonSelectBasicTurret.addListener(new ClickListener() {
        @Override
        public void clicked(InputEvent event, float x, float y) {
            player.setTurretSelectedForPurchase(new BasicTurret(mouseLocation.clone()));
            resetVisualTurretSelection();
            buttonSelectBasicTurret.setColor(Color.NAVY);
        }
    });

    buttonSelectChaingunTurret.addListener(new ClickListener() {
        @Override
        public void clicked(InputEvent event, float x, float y) {
            player.setTurretSelectedForPurchase(new ChaingunTurret(mouseLocation.clone()));
            resetVisualTurretSelection();
            buttonSelectChaingunTurret.setColor(Color.NAVY);
        }
    });

    buttonSelectRocketTurret.addListener(new ClickListener() {
        @Override
        public void clicked(InputEvent event, float x, float y) {
            player.setTurretSelectedForPurchase(new RocketTurret(mouseLocation.clone()));
            resetVisualTurretSelection();
            buttonSelectRocketTurret.setColor(Color.NAVY);
        }
    });

    buttonSelectShotgunTurret.addListener(new ClickListener() {
        @Override
        public void clicked(InputEvent event, float x, float y) {
            player.setTurretSelectedForPurchase(new ShotgunTurret(mouseLocation.clone()));
            resetVisualTurretSelection();
            buttonSelectShotgunTurret.setColor(Color.NAVY);
        }
    });

    buttonSelectHomingTurret.addListener(new ClickListener() {
        @Override
        public void clicked(InputEvent event, float x, float y) {
            player.setTurretSelectedForPurchase(new HomingTurret(mouseLocation.clone()));
            resetVisualTurretSelection();
            buttonSelectHomingTurret.setColor(Color.NAVY);
        }
    });

    buttonSelectBuffTurret.addListener(new ClickListener() {
        @Override
        public void clicked(InputEvent event, float x, float y) {
            player.setTurretSelectedForPurchase(new BuffTurret(mouseLocation.clone(), turretManager));
            resetVisualTurretSelection();
            buttonSelectBuffTurret.setColor(Color.NAVY);
        }
    });

    resetVisualTurretSelection();

    // add in information view
    Table infoTable = new Table();

    resourcesLabel = new Label("Resources: R" + player.getResources(), skin);
    scoreLabel = new Label("Score: " + player.getScore(), skin);
    healthLabel = new Label("Health: " + player.getHealth(), skin);
    numTurretsLabel = new Label("Turrets Created: " + player.getNumTurretsCreated(), skin);
    numUnitsKilledLabel = new Label("Units killed: " + player.getNumUnitsKilled(), skin);

    startDate = new Date();
    timeLabel = new Label("Elapsed: ", skin);

    infoTable.add(healthLabel).pad(5.0f);
    infoTable.add(scoreLabel).pad(5.0f);
    infoTable.add(resourcesLabel).pad(5.0f);
    infoTable.add(numTurretsLabel).pad(5.0f);
    infoTable.add(numUnitsKilledLabel).pad(5.0f);
    infoTable.add(timeLabel).pad(10.0f);

    // turret upgrade user interface
    upgradeTable = new Table();

    selectedTurretLabel = new Label("Upgrade Turret", skin);
    damageLabel = new Label("Damage (Current)", skin);
    upgradeDamageButton = new TextButton("+10 (R40)", skin);
    rangeLabel = new Label("Range (Current)", skin);
    upgradeRangeButton = new TextButton("+10 (R40)", skin);
    uniqueModifierLabel = new Label("Unique (Current)", skin);
    upgradeUniqueModifierButton = new TextButton("+1 (R40)", skin);

    sellButton = new TextButton("Sell (Value)", skin);

    upgradeTable.add(selectedTurretLabel);
    upgradeTable.add(sellButton);
    upgradeTable.row();
    upgradeTable.add(damageLabel);
    upgradeTable.add(upgradeDamageButton);
    upgradeTable.row();
    upgradeTable.add(rangeLabel);
    upgradeTable.add(upgradeRangeButton);
    upgradeTable.row();
    upgradeTable.add(uniqueModifierLabel);
    upgradeTable.add(upgradeUniqueModifierButton);

    upgradeTable.setVisible(false);

    Table menuTable = new Table();
    menuTable.add(pauseButton, exitButton);

    fpsLabel = new Label("0fps", skin);

    Table topHalfTable = new Table(), botHalfTable = new Table();
    //      topHalfTable.setDebug(true); botHalfTable.setDebug(true);

    topHalfTable.add(infoTable);
    topHalfTable.row();
    topHalfTable.add(selectTypeTable);
    topHalfTable.row();
    topHalfTable.add(upgradeTable).expandX().right();

    botHalfTable.add(fpsLabel).expandX().left().expandY().bottom();
    botHalfTable.add(menuTable).expandX().right().expandY().bottom();

    rootTable.add(topHalfTable).fill().top();
    rootTable.row();
    rootTable.add(botHalfTable).fill().expand();

    /*** END OF TABLES AND ALIGNMENT ***/

    upgradeDamageButton.addListener(new ClickListener() {
        @Override
        public void clicked(InputEvent event, float x, float y) {
            BaseTurret turret = player.getTurretSelectedForUpgrade();
            if (player.getResources() >= turret.getUpgradeCost() && turret.canUpgradeDamage()) {
                player.decreaseResources(turret.getUpgradeCost());
                turret.upgradeDamage();
            }
        }
    });

    upgradeRangeButton.addListener(new ClickListener() {
        @Override
        public void clicked(InputEvent event, float x, float y) {
            BaseTurret turret = player.getTurretSelectedForUpgrade();
            if (player.getResources() >= turret.getUpgradeCost()) {
                player.decreaseResources(turret.getUpgradeCost());
                player.getTurretSelectedForUpgrade().upgradeRange();
            }
        }
    });

    upgradeUniqueModifierButton.addListener(new ClickListener() {
        @Override
        public void clicked(InputEvent event, float x, float y) {
            BaseTurret turret = player.getTurretSelectedForUpgrade();
            if (player.getResources() >= turret.getUpgradeCost() && turret.canUpgradeUniqueModifier()) {
                player.decreaseResources(turret.getUpgradeCost());
                turret.upgradeUniqueModifier();
            }
        }
    });

    sellButton.addListener(new ClickListener() {
        @Override
        public void clicked(InputEvent event, float x, float y) {
            player.addResources(player.getTurretSelectedForUpgrade().getWorth());
            turretManager.removeTurret(player.getTurretSelectedForUpgrade());
            player.setState(Player.State.TURRET_PLACE);
            upgradeTable.setVisible(false);
        }
    });

    // set up gameOver menu, which includes its own stage for alignment purposes
    gameOverTable = new Table();
    gameOverTable.setFillParent(true);
    gameOverTable.setVisible(false);

    highScoreLabel = new Label("High Score: ", skin);
    lastScoreLabel = new Label("Last Score: ", skin);
    continueButton = new TextButton("Continue", skin);

    gameOverTable.add(highScoreLabel);
    gameOverTable.row();
    gameOverTable.add(lastScoreLabel);
    gameOverTable.row();
    gameOverTable.add(continueButton);

    gameOverTable.center();

    gameOverStage = new Stage();
    gameOverStage.addActor(gameOverTable);

    continueButton.addListener(new ClickListener() {
        @Override
        public void clicked(InputEvent event, float x, float y) {
            towerDefense.setScreen(new MainMenuScreen(towerDefense));
            dispose();
        }
    });

    // now set input processing, by adding all input sources to the inputMultiplexer
    inputMultiplexer = new InputMultiplexer();

    inputMultiplexer.addProcessor(gameOverStage);
    inputMultiplexer.addProcessor(stage);
    inputMultiplexer.addProcessor(new GestureDetector(new MyGestureListener()));
    inputMultiplexer.addProcessor(new MyInputProcessor());

    Gdx.input.setInputProcessor(inputMultiplexer);

    // instantiate the spritebatch, where all drawing takes place, and shapeRenderer likewise
    batch = new SpriteBatch();
    shapeRenderer = new ShapeRenderer();

    // game starts off going fast!
    isPaused = false;

    // instantiate transformation
    _transformation = new TurretTransformation(turretManager);

    // instantiate the fpsLogger
    fpsLogger = new FPSLogger();
}

From source file:net.noviden.towerdefense.Screens.MainMenuScreen.java

License:Open Source License

public MainMenuScreen(final TowerDefense towerDefense) {
    this.towerDefense = towerDefense;

    // initialize singletons
    GameSettings.initialize();//from   w  ww . j  ava2s. c o m

    // set up ui
    _skin = new Skin(Gdx.files.internal("assets/uiskin.json"));

    stage = new Stage();

    menuTable = new Table();
    menuTable.setFillParent(true);

    stage.addActor(menuTable);

    Gdx.input.setInputProcessor(stage);

    setupUi();

    // set up dynamic background

    _spriteBatch = new SpriteBatch();
    _shapeRenderer = new ShapeRenderer();
    _shapeRenderer.setAutoShapeType(true);

    _orthoCamera = new OrthographicCamera();
    _orthoCamera.setToOrtho(true, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
    //        _orthoCamera.position.set(TowerDefense.SCREEN_WIDTH / 2, TowerDefense.SCREEN_HEIGHT / 2, 0);
    _orthoCamera.update();

    int randomMapNo = (int) (Math.random() * (towerDefense.maps.size()));
    _map = towerDefense.maps.get(randomMapNo);

    Path[] paths = _map.getPaths();

    _unitManagers = new UnitManager[paths.length];

    for (int i = 0; i < paths.length; i++) {
        _unitManagers[i] = new UnitManager(paths[i], _map.getSettings());
    }
}

From source file:net.onedaybeard.keyflection.demo.DemoUI.java

License:Apache License

@Override
public void create() {
    background = new Color(0.2f, 0.2f, 0.2f, 1f);

    texture = new Texture(Gdx.files.internal("data/badlogicsmall.jpg"));
    texture.setFilter(TextureFilter.Linear, TextureFilter.Linear);
    font = new BitmapFont(Gdx.files.internal("data/font.fnt"), false);

    stageActions = new StageKeys();

    stage = new Stage(Gdx.graphics.getWidth(), Gdx.graphics.getHeight(), false);

    float loc = (NUM_SPRITES * (32 + SPACING) - SPACING) / 2;
    for (int i = 0; i < NUM_GROUPS; i++) {
        Group group = new Group();
        group.setX((float) Math.random() * (stage.getWidth() - NUM_SPRITES * (32 + SPACING)));
        group.setY((float) Math.random() * (stage.getHeight() - NUM_SPRITES * (32 + SPACING)));
        group.setOrigin(loc, loc);//  w w  w.  jav  a2 s  . co  m

        fillGroup(group, texture);
        stage.addActor(group);
    }

    uiTexture = new Texture(Gdx.files.internal("data/ui.png"));
    uiTexture.setFilter(TextureFilter.Linear, TextureFilter.Linear);
    ui = new Stage(Gdx.graphics.getWidth(), Gdx.graphics.getHeight(), false);
    ui.addListener(new KeyflectionInputListener(stageActions));

    Image blend = new Image(new TextureRegion(uiTexture, 0, 0, 64, 32));
    blend.setAlign(Align.center);
    blend.setScaling(Scaling.none);
    blend.addListener(new InputListener() {
        public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
            stageActions.toggleBlending();
            return true;
        }
    });
    blend.setY(ui.getHeight() - 64);

    Image rotate = new Image(new TextureRegion(uiTexture, 64, 0, 64, 32));
    rotate.setAlign(Align.center);
    rotate.setScaling(Scaling.none);
    rotate.addListener(new InputListener() {
        public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
            stageActions.toggleRotation();
            return true;
        }
    });
    rotate.setPosition(64, blend.getY());

    Image scale = new Image(new TextureRegion(uiTexture, 64, 32, 64, 32));
    scale.setAlign(Align.center);
    scale.setScaling(Scaling.none);
    scale.addListener(new InputListener() {
        public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
            stageActions.toggleScaling();
            return true;
        }
    });
    scale.setPosition(128, blend.getY());

    ui.addActor(blend);
    ui.addActor(rotate);
    ui.addActor(scale);

    hint = new Label("Press F1 to see keyboard shortcuts.", new Label.LabelStyle(font, Color.WHITE));
    hint.setPosition(10, 45);
    hint.setColor(0, 1, 0, 1);
    ui.addActor(hint);

    fps = new Label("fps: 0", new Label.LabelStyle(font, Color.WHITE));
    fps.setPosition(10, 30);
    fps.setColor(0, 1, 0, 1);
    ui.addActor(fps);

    renderer = new ShapeRenderer();

    InputMultiplexer multiplexer = new InputMultiplexer();
    multiplexer.addProcessor(new KeyflectionInputProcessor(new GlobalKeys()));
    multiplexer.addProcessor(stage);
    multiplexer.addProcessor(ui);

    Gdx.input.setInputProcessor(multiplexer);
}

From source file:net.team2xh.environment.widgets.graphs.Graph.java

public Graph() {
    renderer = new ShapeRenderer();
    //        ShaderProgram.pedantic = false;
    //        vertexShader = Gdx.files.internal("shaders/vertex/spherize.glsl").readString();
    //        fragmentShader = Gdx.files.internal("shaders/fragment/greyscale.glsl").readString();
    //        shader = new ShaderProgram(vertexShader, fragmentShader);
    //        System.out.println(shader.isCompiled() ? "Shader compiled" : shader.getLog());

    //        ImmediateModeRenderer20 imr = (ImmediateModeRenderer20) renderer.getRenderer();
    //        imr.setShader(shader);
}

From source file:nl.basroding.explorer.scenes.gamescene.RocketActor.java

public RocketActor(Rocket rocket) {
    if (shapeRenderer == null)
        shapeRenderer = new ShapeRenderer();

    this.rocket = rocket;
    this.setSize(200, 200);
}

From source file:non.plugins.graphics.java

public void plugin_load() {
    batch = new SpriteBatch();
    shapes = new ShapeRenderer();
    shapes.setAutoShapeType(true);/*from   ww w  .  ja v  a 2 s .  co  m*/
    curFont = new BitmapFont();
    camera = new OrthographicCamera();
}

From source file:org.ah.gcc.rover.AndroidGCCRoverController.java

License:Open Source License

@Override
public void create() {
    // platformSpecific.init();

    font = new BitmapFont(Gdx.files.internal("fonts/din-alternate-bold-64.fnt"), true);
    glyphLayout = new GlyphLayout();

    font.setColor(Color.BLACK);/*from  w  w  w .  j  av  a 2 s  . c  o m*/
    batch = new SpriteBatch();
    img = new Texture("badlogic.jpg");

    camera = new OrthographicCamera(Gdx.graphics.getWidth(), Gdx.graphics.getHeight());

    cellSize = Gdx.graphics.getWidth() / 20;

    shapeRenderer = new ShapeRenderer();

    leftjoystick = new JoyStick((int) cellSize * 8, (int) cellSize * 4, (int) cellSize * 4);
    rightjoystick = new JoyStick((int) cellSize * 8, (int) cellSize * 16, (int) cellSize * 4);

    leftExpo = new ExpoGraph((int) cellSize * 5, (int) cellSize * 2, (int) cellSize * 2, (int) cellSize * 2);
    rightExpo = new ExpoGraph((int) cellSize * 13, (int) cellSize * 2, (int) cellSize * 2, (int) cellSize * 2);

    leftExpo.setPercentage(0.75f);
    rightExpo.setPercentage(0.90f);

    roverSelectButton = new Button((int) cellSize * 6, 0, (int) cellSize * 8, (int) (cellSize * 1.5),
            new Button.ButtonCallback() {
                @Override
                public void invoke(boolean state) {
                    if (state) {
                        newSelectedRover = selectedRover + 1;
                        if (newSelectedRover >= ROVERS.length) {
                            newSelectedRover = 0;
                        }
                    }
                }
            });

    pov = new POV((int) cellSize * 9, (int) cellSize * 4, (int) cellSize * 2);

    button1 = new RoundButton((int) cellSize * 6, (int) cellSize * 11, (int) cellSize / 2);

    switchLT = new SquareButton((int) cellSize * 0, (int) (cellSize * 0), (int) cellSize * 4,
            (int) cellSize * 2);
    switchLT.setState(false);
    switchLB = new Switch((int) cellSize * 0, (int) (cellSize * 2), (int) cellSize * 2, Orientation.HORIZONTAL);
    switchLB.setState(false);

    switchRT = new SquareButton((int) cellSize * 16, (int) (cellSize * 0), (int) cellSize * 4,
            (int) cellSize * 2);
    switchRT.setState(false);
    switchRB = new Switch((int) cellSize * 16, (int) (cellSize * 2), (int) cellSize * 2,
            Orientation.HORIZONTAL);
    switchRB.setState(false);

    inputMultiplexer = new InputMultiplexer();
    inputMultiplexer.addProcessor(this);
    inputMultiplexer.addProcessor(new GestureDetector(this));
    Gdx.input.setInputProcessor(inputMultiplexer);
    screenController = new ScreenController();
    screenController.setLeftJotstick(leftjoystick);
    screenController.setRightJotstick(rightjoystick);

    screenController.setButton(switchLB, ControllerState.ButtonType.ORBIT_BUTTON);
    roverDriver = new RoverDriver(roverControl, screenController);

    logoDrawer = new LogoDrawer(batch, camera);

}