Skip to content
Snippets Groups Projects
Commit 330e7abb authored by Rasmus Burwitz's avatar Rasmus Burwitz
Browse files

VideoVController added + AudioController fix

parent 7460d08f
No related branches found
No related tags found
No related merge requests found
Showing
with 78 additions and 25 deletions
......@@ -87,7 +87,8 @@ public class ClientControllerCommunicator {
HangerController.getInstance();
TraderController.getInstance(singleton);
TravelController.getInstance(singleton);
AudioController.getInstance(singleton);
AudioController.getInstance();
VideoController.getInstance(singleton);
// TODO CREATE ALL CONTROLLERS HERE, all controllers should be singletons
return singleton;
}
......
......@@ -20,18 +20,15 @@ public class AudioController extends Controller /**implements Audio*/ {
private static AudioController singleton;
@NonNull
private ClientControllerCommunicator clientControllerCommunicator;
/**
* return the instance of this singleton
* @param communicator the communicator
* @
* @return the singleton instance
*/
public static AudioController getInstance(ClientControllerCommunicator communicator) {
public static AudioController getInstance() {
if(singleton == null) {
singleton = new AudioController(communicator);
singleton = new AudioController();
}
return singleton;
}
......@@ -40,7 +37,6 @@ public class AudioController extends Controller /**implements Audio*/ {
if(music!= null) {
music = Gdx.audio.newMusic(file);
music.setLooping(true);
music.setVolume(0.5f);
music.play();
}
......
package com.galaxytrucker.galaxytruckerreloaded.Controller;
import com.badlogic.gdx.Game;
import com.badlogic.gdx.Gdx;
import com.galaxytrucker.galaxytruckerreloaded.Communication.ClientControllerCommunicator;
import com.galaxytrucker.galaxytruckerreloaded.Main;
import lombok.*;
import org.hibernate.graph.internal.parse.HEGLTokenTypes;
@Getter
@Setter
@RequiredArgsConstructor(access = AccessLevel.PRIVATE)
public class VideoController extends Controller{
private static VideoController singleton;
private Main main;
@NonNull
private ClientControllerCommunicator clientControllerCommunicator;
/**
* return the instance of this singleton
* @param communicator the communicator
* @return the singleton instance
*/
public static VideoController getInstance(ClientControllerCommunicator communicator) {
if(singleton == null) {
singleton = new VideoController(communicator);
}
return singleton;
}
private int getHight(Main main){
return main.HEIGHT;
}
private int getWidth(Main main){
return main.WIDTH;
}
public void setResolution(int width, int height, Main main){
main.HEIGHT = height;
main.WIDTH = width;
}
public void setFullscreen() {
Gdx.graphics.setFullscreenMode(Gdx.graphics.getDisplayMode());
}
public void setWindowed() {
Gdx.graphics.setWindowedMode(getWidth(main),getHight(main));
}
}
......@@ -2,8 +2,10 @@ package com.galaxytrucker.galaxytruckerreloaded;
import com.badlogic.gdx.Game;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.audio.Music;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
import com.galaxytrucker.galaxytruckerreloaded.Communication.Client;
import com.galaxytrucker.galaxytruckerreloaded.Controller.AudioController;
import com.galaxytrucker.galaxytruckerreloaded.Server.Server;
import com.galaxytrucker.galaxytruckerreloaded.Server.ServerServiceCommunicator;
import com.galaxytrucker.galaxytruckerreloaded.View.Screen.LoginScreen;
......@@ -16,8 +18,8 @@ public class Main extends Game {
/**
* Settings
*/
public static final int WIDTH = 1920;
public static final int HEIGHT = 1080;
public static int WIDTH = 1920;
public static int HEIGHT = 1080;
public static final String TITLE = "Galaxy Trucker";
/**
......@@ -38,11 +40,12 @@ public class Main extends Game {
@Setter
private boolean server;
private Music music;
/**
* start a server, if there isnt one
*/
public void startServer() {
if(!server) {
if (!server) {
Server.runServer();
server = true;
}
......@@ -52,7 +55,7 @@ public class Main extends Game {
* start a client, if there isnt already one
*/
public void startClient() {
if(client == null) {
if (client == null) {
client = new Client("localhost", 5050);
}
}
......@@ -60,6 +63,7 @@ public class Main extends Game {
@Override
public void create() {
batch = new SpriteBatch();
AudioController.getInstance().setMusic(Gdx.files.internal("Sounds/Music/bp_MUS_WastelandEXPLORE.ogg"));
setScreen(new MainMenu(this));
}
......@@ -83,12 +87,5 @@ public class Main extends Game {
public SpriteBatch getBatch() {
return this.batch;
}
public void setFullscreen() {
Gdx.graphics.setFullscreenMode(Gdx.graphics.getDisplayMode());
}
public void setWindowed() {
Gdx.graphics.setWindowedMode(WIDTH,HEIGHT);
}
}
......@@ -4,6 +4,7 @@ import com.badlogic.gdx.audio.Sound;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.scenes.scene2d.InputEvent;
import com.badlogic.gdx.scenes.scene2d.utils.ClickListener;
import com.galaxytrucker.galaxytruckerreloaded.Controller.VideoController;
import com.galaxytrucker.galaxytruckerreloaded.Main;
import com.galaxytrucker.galaxytruckerreloaded.View.Buttons.ImButton;
......@@ -25,6 +26,6 @@ public class FullscreenEnableButton extends ImButton {
@Override
public void leftClick() {
main.setFullscreen();
VideoController.getInstance(null).setFullscreen();
}
}
......@@ -4,6 +4,7 @@ import com.badlogic.gdx.audio.Sound;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.scenes.scene2d.InputEvent;
import com.badlogic.gdx.scenes.scene2d.utils.ClickListener;
import com.galaxytrucker.galaxytruckerreloaded.Controller.VideoController;
import com.galaxytrucker.galaxytruckerreloaded.Main;
import com.galaxytrucker.galaxytruckerreloaded.View.Buttons.ImButton;
......@@ -25,6 +26,6 @@ public class WindowedButton extends ImButton {
@Override
public void leftClick() {
main.setWindowed();
VideoController.getInstance(null).setWindowed();
}
}
......@@ -159,9 +159,6 @@ public class GamePlay implements Screen {
pauseStage = new Stage(viewport, main.batch);
tileStage = new Stage(viewport, main.batch);
//evtl. an anderer Stelle callen
AudioController.getInstance(null).setMusic(Gdx.files.internal("Sounds/Music/bp_MUS_WastelandEXPLORE.ogg"));
player = new ShipView(main, main.getClient().getMyShip(), stage, tileStage, main.getClient().getOverworld(), this);
......
......@@ -112,6 +112,7 @@ public class AudioUI {
/**
* handles input to pause game, open options
* TODO: funktioniert nicht, ist auch nicht zwingend Nötig
*/
public void updateInput() {
//macht nicht was es soll. im Kern ein Bastard diese Methode
......
......@@ -86,6 +86,7 @@ public class VideoUI {
/**
* render
* no stage stuff
* TODO: Absolutwerte durch Realtive Position ersetzen.
*/
public void render() {
updateInput();
......@@ -138,6 +139,7 @@ public class VideoUI {
/**
* handles input to pause game, open options
* TODO: funktioniert nicht, ist auch nicht zwingend Nötig
*/
public void updateInput() {
//macht nicht was es soll. im Kern ein Bastard diese Methode
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment