package org.jrenner.fps.net.client; import com.badlogic.gdx.utils.GdxRuntimeException; import com.badlogic.gdx.utils.TimeUtils; import org.jrenner.fps.Log; import org.jrenner.fps.Main; import org.jrenner.fps.View; import org.jrenner.fps.entity.DynamicEntity; import org.jrenner.fps.net.LocalServer; import org.jrenner.fps.net.packages.ChatMessage; /** LocalClient is basically a mock client used in single-player, pairs with LocalServer */ public class LocalClient extends AbstractClient { private LocalServer server; @Override public void connectToServer() { if (!Main.isLocalServer()) { throw new GdxRuntimeException("cannot create local client without local server. server type is: " + Main.serverType); } server = (LocalServer) Main.inst.server; DynamicEntity playerEnt = server.createPlayer(); assignClientPlayerToId(playerEnt.id); Log.debug("connected, created player: " + playerEnt.id); server.sendPlayerConnectedChatMessage(playerEnt.id); } @Override public void disconnectedFromServer() { if (player != null) { player.entity.destroy(); } Log.debug("disconnected"); } @Override public void sendChatMessage(ChatMessage chat) { chat.playerId = 0; chat.createTime = TimeUtils.millis(); View.inst.hud.addChatMessage(chat); } @Override public void requestResetPosition() { server.resetPlayerPosition(playerId); } @Override public void update() { // nothing } }