package se.rhel.network.controller; import com.badlogic.gdx.Application; import com.badlogic.gdx.Game; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.Input; import se.rhel.Client; import se.rhel.CodeName; import se.rhel.Snaek; import se.rhel.screen.AbstactController; import se.rhel.Server; import se.rhel.screen.scene.MainMenu; import se.rhel.screen.scene.OptionsMenu; import java.io.IOException; import java.net.UnknownHostException; /** * Group: Multiplayer */ public class NetworkGameScreen extends AbstactController { private ClientController mClientController; private ServerController mServerController; private boolean mUpdateServer = false; private boolean mInitialized = true; public NetworkGameScreen(CodeName game, Server server, String host) { super(game); Gdx.app.setLogLevel(Application.LOG_NONE); if(server != null) { mUpdateServer = true; mServerController = new ServerController(server); } try { mClientController = new ClientController(host); } catch (Exception e) { mInitialized = false; //getGame().setScreen(new MainMenu(getGame())); } } @Override public void update(float delta) { if(mInitialized) { mClientController.update(delta); if(mUpdateServer) mServerController.update(delta); } else { getGame().setScreen(new LobbyScreen(getGame(), false, "No server found...")); } } @Override public void draw(float delta) { if(mInitialized) mClientController.draw(delta); } @Override public void hide() { super.hide(); dispose(); } @Override public void dispose() { super.dispose(); if(mInitialized) mClientController.dispose(); Gdx.input.setInputProcessor(null); } }