mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-20 04:38:00 +00:00
Changed interfaces to acquire players for lobby - human uses a single LobbyPlayer for all games.
NetClient now adds its player to lobby
This commit is contained in:
@@ -1,6 +1,8 @@
|
|||||||
package forge.control;
|
package forge.control;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
|
|
||||||
import forge.game.player.LobbyPlayer;
|
import forge.game.player.LobbyPlayer;
|
||||||
import forge.game.player.PlayerType;
|
import forge.game.player.PlayerType;
|
||||||
@@ -55,31 +57,22 @@ public class Lobby {
|
|||||||
"Walter", "Wilfred", "William", "Winston"
|
"Walter", "Wilfred", "William", "Winston"
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
private Map<String, LobbyPlayer> remotePlayers = new ConcurrentHashMap<String, LobbyPlayer>();
|
||||||
* TODO: Write javadoc for this method.
|
private final LobbyPlayer guiPlayer = new LobbyPlayer(PlayerType.HUMAN, "Human");
|
||||||
* @param human
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
public LobbyPlayer findLocalPlayer(PlayerType type, String name) {
|
|
||||||
|
|
||||||
return new LobbyPlayer(type, name);
|
public final LobbyPlayer getGuiPlayer() {
|
||||||
|
return guiPlayer;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
public final LobbyPlayer getAiPlayer() { return getAiPlayer(getRandomName()); }
|
||||||
* TODO: Write javadoc for this method.
|
public final LobbyPlayer getAiPlayer(String name) {
|
||||||
* @param human
|
LobbyPlayer player = new LobbyPlayer(PlayerType.COMPUTER, name);
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
public LobbyPlayer findLocalPlayer(PlayerType type) {
|
|
||||||
if (type == PlayerType.HUMAN) {
|
|
||||||
return new LobbyPlayer(type, "Human"); // need to get name!
|
|
||||||
}
|
|
||||||
|
|
||||||
LobbyPlayer player = findLocalPlayer(type, getRandomName());
|
|
||||||
player.setAvatarIndex(MyRandom.getRandom().nextInt(FSkin.getAvatars().size()));
|
player.setAvatarIndex(MyRandom.getRandom().nextInt(FSkin.getAvatars().size()));
|
||||||
return player;
|
return player;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* TODO: Write javadoc for this method.
|
* TODO: Write javadoc for this method.
|
||||||
* @param nextInt
|
* @param nextInt
|
||||||
@@ -96,7 +89,26 @@ public class Lobby {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public LobbyPlayer getQuestPlayer() {
|
public LobbyPlayer getQuestPlayer() {
|
||||||
return new LobbyPlayer(PlayerType.HUMAN, "Human"); // need to get name!
|
return guiPlayer;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO: Write javadoc for this method.
|
||||||
|
* @param name
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public synchronized LobbyPlayer findOrCreateRemotePlayer(String name) {
|
||||||
|
if (remotePlayers.containsKey(name))
|
||||||
|
return remotePlayers.get(name);
|
||||||
|
|
||||||
|
LobbyPlayer res = new LobbyPlayer(PlayerType.REMOTE, name);
|
||||||
|
// have to load avatar from remote user's preferences here
|
||||||
|
remotePlayers.put(name, res);
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void disconnectPlayer(LobbyPlayer player) {
|
||||||
|
// Should set up a timer here to discard player and all of his games after 20 minutes of being offline
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -30,7 +30,6 @@ import forge.game.GameType;
|
|||||||
import forge.game.MatchController;
|
import forge.game.MatchController;
|
||||||
import forge.game.MatchStartHelper;
|
import forge.game.MatchStartHelper;
|
||||||
import forge.game.PlayerStartConditions;
|
import forge.game.PlayerStartConditions;
|
||||||
import forge.game.player.PlayerType;
|
|
||||||
import forge.gui.SOverlayUtils;
|
import forge.gui.SOverlayUtils;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -170,8 +169,8 @@ public class GauntletMini {
|
|||||||
|
|
||||||
MatchStartHelper starter = new MatchStartHelper();
|
MatchStartHelper starter = new MatchStartHelper();
|
||||||
Lobby lobby = Singletons.getControl().getLobby();
|
Lobby lobby = Singletons.getControl().getLobby();
|
||||||
starter.addPlayer(lobby.findLocalPlayer(PlayerType.HUMAN), humanDeck);
|
starter.addPlayer(lobby.getGuiPlayer(), humanDeck);
|
||||||
starter.addPlayer(lobby.findLocalPlayer(PlayerType.COMPUTER), aiOpponents.get(currentRound - 1));
|
starter.addPlayer(lobby.getAiPlayer(), aiOpponents.get(currentRound - 1));
|
||||||
|
|
||||||
MatchController mc = Singletons.getModel().getMatch();
|
MatchController mc = Singletons.getModel().getMatch();
|
||||||
mc.initMatch(gauntletType, starter.getPlayerMap());
|
mc.initMatch(gauntletType, starter.getPlayerMap());
|
||||||
|
|||||||
@@ -253,8 +253,9 @@ public enum CSubmenuGauntletContests implements ICDoc {
|
|||||||
|
|
||||||
MatchStartHelper starter = new MatchStartHelper();
|
MatchStartHelper starter = new MatchStartHelper();
|
||||||
Lobby lobby = Singletons.getControl().getLobby();
|
Lobby lobby = Singletons.getControl().getLobby();
|
||||||
starter.addPlayer(lobby.findLocalPlayer(PlayerType.HUMAN), gd.getUserDeck());
|
|
||||||
starter.addPlayer(lobby.findLocalPlayer(PlayerType.COMPUTER), aiDeck);
|
starter.addPlayer(lobby.getGuiPlayer(), gd.getUserDeck());
|
||||||
|
starter.addPlayer(lobby.getAiPlayer(), aiDeck);
|
||||||
|
|
||||||
MatchController mc = Singletons.getModel().getMatch();
|
MatchController mc = Singletons.getModel().getMatch();
|
||||||
mc.initMatch(GameType.Gauntlet, starter.getPlayerMap());
|
mc.initMatch(GameType.Gauntlet, starter.getPlayerMap());
|
||||||
|
|||||||
@@ -17,7 +17,6 @@ import forge.deck.Deck;
|
|||||||
import forge.game.GameType;
|
import forge.game.GameType;
|
||||||
import forge.game.MatchController;
|
import forge.game.MatchController;
|
||||||
import forge.game.MatchStartHelper;
|
import forge.game.MatchStartHelper;
|
||||||
import forge.game.player.PlayerType;
|
|
||||||
import forge.gauntlet.GauntletData;
|
import forge.gauntlet.GauntletData;
|
||||||
import forge.gauntlet.GauntletIO;
|
import forge.gauntlet.GauntletIO;
|
||||||
import forge.gui.SOverlayUtils;
|
import forge.gui.SOverlayUtils;
|
||||||
@@ -116,9 +115,9 @@ public enum CSubmenuGauntletLoad implements ICDoc {
|
|||||||
|
|
||||||
MatchStartHelper starter = new MatchStartHelper();
|
MatchStartHelper starter = new MatchStartHelper();
|
||||||
Lobby lobby = Singletons.getControl().getLobby();
|
Lobby lobby = Singletons.getControl().getLobby();
|
||||||
starter.addPlayer(lobby.findLocalPlayer(PlayerType.HUMAN), gd.getUserDeck());
|
starter.addPlayer(lobby.getGuiPlayer(), gd.getUserDeck());
|
||||||
starter.addPlayer(lobby.findLocalPlayer(PlayerType.COMPUTER), aiDeck);
|
starter.addPlayer(lobby.getAiPlayer(), aiDeck);
|
||||||
|
|
||||||
MatchController mc = Singletons.getModel().getMatch();
|
MatchController mc = Singletons.getModel().getMatch();
|
||||||
mc.initMatch(GameType.Gauntlet, starter.getPlayerMap());
|
mc.initMatch(GameType.Gauntlet, starter.getPlayerMap());
|
||||||
mc.startRound();
|
mc.startRound();
|
||||||
|
|||||||
@@ -299,8 +299,9 @@ public enum CSubmenuGauntletQuick implements ICDoc {
|
|||||||
|
|
||||||
MatchStartHelper starter = new MatchStartHelper();
|
MatchStartHelper starter = new MatchStartHelper();
|
||||||
Lobby lobby = Singletons.getControl().getLobby();
|
Lobby lobby = Singletons.getControl().getLobby();
|
||||||
starter.addPlayer(lobby.findLocalPlayer(PlayerType.HUMAN), gd.getUserDeck());
|
|
||||||
starter.addPlayer(lobby.findLocalPlayer(PlayerType.COMPUTER), aiDeck);
|
starter.addPlayer(lobby.getGuiPlayer(), gd.getUserDeck());
|
||||||
|
starter.addPlayer(lobby.getAiPlayer(), aiDeck);
|
||||||
|
|
||||||
MatchController mc = Singletons.getModel().getMatch();
|
MatchController mc = Singletons.getModel().getMatch();
|
||||||
mc.initMatch(GameType.Gauntlet, starter.getPlayerMap());
|
mc.initMatch(GameType.Gauntlet, starter.getPlayerMap());
|
||||||
|
|||||||
@@ -19,7 +19,6 @@ import forge.game.GameType;
|
|||||||
import forge.game.MatchStartHelper;
|
import forge.game.MatchStartHelper;
|
||||||
import forge.game.PlayerStartConditions;
|
import forge.game.PlayerStartConditions;
|
||||||
import forge.game.player.LobbyPlayer;
|
import forge.game.player.LobbyPlayer;
|
||||||
import forge.game.player.PlayerType;
|
|
||||||
import forge.gui.GuiChoose;
|
import forge.gui.GuiChoose;
|
||||||
import forge.gui.SOverlayUtils;
|
import forge.gui.SOverlayUtils;
|
||||||
import forge.gui.deckeditor.CDeckEditorUI;
|
import forge.gui.deckeditor.CDeckEditorUI;
|
||||||
@@ -418,7 +417,7 @@ public class SSubmenuQuestUtil {
|
|||||||
MatchStartHelper msh = new MatchStartHelper();
|
MatchStartHelper msh = new MatchStartHelper();
|
||||||
msh.addPlayer(Singletons.getControl().getLobby().getQuestPlayer(), humanStart);
|
msh.addPlayer(Singletons.getControl().getLobby().getQuestPlayer(), humanStart);
|
||||||
|
|
||||||
LobbyPlayer aiPlayer = Singletons.getControl().getLobby().findLocalPlayer(PlayerType.COMPUTER, event.getOpponent() == null ? event.getTitle() : event.getOpponent());
|
LobbyPlayer aiPlayer = Singletons.getControl().getLobby().getAiPlayer(event.getOpponent() == null ? event.getTitle() : event.getOpponent());
|
||||||
aiPlayer.setIconImageKey(event.getIconImageKey());
|
aiPlayer.setIconImageKey(event.getIconImageKey());
|
||||||
msh.addPlayer(aiPlayer, aiStart);
|
msh.addPlayer(aiPlayer, aiStart);
|
||||||
|
|
||||||
|
|||||||
@@ -14,7 +14,6 @@ import forge.deck.Deck;
|
|||||||
import forge.game.GameType;
|
import forge.game.GameType;
|
||||||
import forge.game.MatchController;
|
import forge.game.MatchController;
|
||||||
import forge.game.MatchStartHelper;
|
import forge.game.MatchStartHelper;
|
||||||
import forge.game.player.PlayerType;
|
|
||||||
import forge.gui.SOverlayUtils;
|
import forge.gui.SOverlayUtils;
|
||||||
import forge.gui.framework.ICDoc;
|
import forge.gui.framework.ICDoc;
|
||||||
import forge.properties.ForgePreferences;
|
import forge.properties.ForgePreferences;
|
||||||
@@ -120,8 +119,8 @@ public enum CSubmenuConstructed implements ICDoc {
|
|||||||
|
|
||||||
MatchStartHelper starter = new MatchStartHelper();
|
MatchStartHelper starter = new MatchStartHelper();
|
||||||
Lobby lobby = Singletons.getControl().getLobby();
|
Lobby lobby = Singletons.getControl().getLobby();
|
||||||
starter.addPlayer(lobby.findLocalPlayer(PlayerType.HUMAN), humanDeck);
|
starter.addPlayer(lobby.getGuiPlayer(), humanDeck);
|
||||||
starter.addPlayer(lobby.findLocalPlayer(PlayerType.COMPUTER), aiDeck);
|
starter.addPlayer(lobby.getAiPlayer(), aiDeck);
|
||||||
|
|
||||||
MatchController mc = Singletons.getModel().getMatch();
|
MatchController mc = Singletons.getModel().getMatch();
|
||||||
mc.initMatch(gameType, starter.getPlayerMap());
|
mc.initMatch(gameType, starter.getPlayerMap());
|
||||||
|
|||||||
@@ -21,7 +21,6 @@ import forge.game.MatchController;
|
|||||||
import forge.game.MatchStartHelper;
|
import forge.game.MatchStartHelper;
|
||||||
import forge.game.limited.BoosterDraft;
|
import forge.game.limited.BoosterDraft;
|
||||||
import forge.game.limited.CardPoolLimitation;
|
import forge.game.limited.CardPoolLimitation;
|
||||||
import forge.game.player.PlayerType;
|
|
||||||
import forge.gui.GuiChoose;
|
import forge.gui.GuiChoose;
|
||||||
import forge.gui.SOverlayUtils;
|
import forge.gui.SOverlayUtils;
|
||||||
import forge.gui.deckeditor.CDeckEditorUI;
|
import forge.gui.deckeditor.CDeckEditorUI;
|
||||||
@@ -136,8 +135,8 @@ public enum CSubmenuDraft implements ICDoc {
|
|||||||
|
|
||||||
MatchStartHelper starter = new MatchStartHelper();
|
MatchStartHelper starter = new MatchStartHelper();
|
||||||
Lobby lobby = Singletons.getControl().getLobby();
|
Lobby lobby = Singletons.getControl().getLobby();
|
||||||
starter.addPlayer(lobby.findLocalPlayer(PlayerType.HUMAN), humanDeck);
|
starter.addPlayer(lobby.getGuiPlayer(), humanDeck);
|
||||||
starter.addPlayer(lobby.findLocalPlayer(PlayerType.COMPUTER), aiDeck);
|
starter.addPlayer(lobby.getAiPlayer(), aiDeck);
|
||||||
|
|
||||||
MatchController mc = Singletons.getModel().getMatch();
|
MatchController mc = Singletons.getModel().getMatch();
|
||||||
mc.initMatch(GameType.Draft, starter.getPlayerMap());
|
mc.initMatch(GameType.Draft, starter.getPlayerMap());
|
||||||
|
|||||||
@@ -22,7 +22,6 @@ import forge.game.GameType;
|
|||||||
import forge.game.MatchController;
|
import forge.game.MatchController;
|
||||||
import forge.game.MatchStartHelper;
|
import forge.game.MatchStartHelper;
|
||||||
import forge.game.player.LobbyPlayer;
|
import forge.game.player.LobbyPlayer;
|
||||||
import forge.game.player.PlayerType;
|
|
||||||
import forge.gui.GuiDialog;
|
import forge.gui.GuiDialog;
|
||||||
import forge.gui.SOverlayUtils;
|
import forge.gui.SOverlayUtils;
|
||||||
import forge.gui.deckeditor.CDeckEditorUI;
|
import forge.gui.deckeditor.CDeckEditorUI;
|
||||||
@@ -227,7 +226,7 @@ public enum CSubmenuArchenemy implements ICDoc {
|
|||||||
Lobby lobby = Singletons.getControl().getLobby();
|
Lobby lobby = Singletons.getControl().getLobby();
|
||||||
MatchStartHelper helper = new MatchStartHelper();
|
MatchStartHelper helper = new MatchStartHelper();
|
||||||
for (int i = 0; i < view.getNumPlayers(); i++) {
|
for (int i = 0; i < view.getNumPlayers(); i++) {
|
||||||
LobbyPlayer player = lobby.findLocalPlayer(i == 0 ? PlayerType.HUMAN : PlayerType.COMPUTER);
|
LobbyPlayer player = i == 0 ? lobby.getGuiPlayer() : lobby.getAiPlayer();
|
||||||
|
|
||||||
if (i == 0) {
|
if (i == 0) {
|
||||||
|
|
||||||
|
|||||||
@@ -22,7 +22,6 @@ import forge.game.GameType;
|
|||||||
import forge.game.MatchController;
|
import forge.game.MatchController;
|
||||||
import forge.game.MatchStartHelper;
|
import forge.game.MatchStartHelper;
|
||||||
import forge.game.player.LobbyPlayer;
|
import forge.game.player.LobbyPlayer;
|
||||||
import forge.game.player.PlayerType;
|
|
||||||
import forge.gui.GuiDialog;
|
import forge.gui.GuiDialog;
|
||||||
import forge.gui.SOverlayUtils;
|
import forge.gui.SOverlayUtils;
|
||||||
import forge.gui.deckeditor.CDeckEditorUI;
|
import forge.gui.deckeditor.CDeckEditorUI;
|
||||||
@@ -221,9 +220,7 @@ public enum CSubmenuPlanechase implements ICDoc {
|
|||||||
|
|
||||||
GuiDialog.message("Player " + (i+1) + " will use a default planar deck.");
|
GuiDialog.message("Player " + (i+1) + " will use a default planar deck.");
|
||||||
}
|
}
|
||||||
|
LobbyPlayer player = i == 0 ? lobby.getGuiPlayer() : lobby.getAiPlayer();
|
||||||
LobbyPlayer player = lobby.findLocalPlayer(i == 0 ? PlayerType.HUMAN : PlayerType.COMPUTER);
|
|
||||||
|
|
||||||
helper.addPlanechasePlayer(player, playerDecks.get(i), planes);
|
helper.addPlanechasePlayer(player, playerDecks.get(i), planes);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -20,7 +20,6 @@ import forge.game.GameType;
|
|||||||
import forge.game.MatchController;
|
import forge.game.MatchController;
|
||||||
import forge.game.MatchStartHelper;
|
import forge.game.MatchStartHelper;
|
||||||
import forge.game.player.LobbyPlayer;
|
import forge.game.player.LobbyPlayer;
|
||||||
import forge.game.player.PlayerType;
|
|
||||||
import forge.gui.GuiDialog;
|
import forge.gui.GuiDialog;
|
||||||
import forge.gui.SOverlayUtils;
|
import forge.gui.SOverlayUtils;
|
||||||
import forge.gui.framework.ICDoc;
|
import forge.gui.framework.ICDoc;
|
||||||
@@ -178,7 +177,7 @@ public enum CSubmenuVanguard implements ICDoc {
|
|||||||
Lobby lobby = Singletons.getControl().getLobby();
|
Lobby lobby = Singletons.getControl().getLobby();
|
||||||
MatchStartHelper helper = new MatchStartHelper();
|
MatchStartHelper helper = new MatchStartHelper();
|
||||||
for (int i = 0; i < view.getNumPlayers(); i++) {
|
for (int i = 0; i < view.getNumPlayers(); i++) {
|
||||||
LobbyPlayer player = lobby.findLocalPlayer(i == 0 ? PlayerType.HUMAN : PlayerType.COMPUTER);
|
LobbyPlayer player = i == 0 ? lobby.getGuiPlayer() : lobby.getAiPlayer();
|
||||||
|
|
||||||
helper.addVanguardPlayer(player, playerDecks.get(i), playerAvatars.get(i));
|
helper.addVanguardPlayer(player, playerDecks.get(i), playerAvatars.get(i));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ public interface INetClient {
|
|||||||
void send(IMessage message);
|
void send(IMessage message);
|
||||||
|
|
||||||
|
|
||||||
void setPlayer(LobbyPlayer lobbyPlayer);
|
void createPlayer(String playerName);
|
||||||
LobbyPlayer getPlayer();
|
LobbyPlayer getPlayer();
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ package forge.net.client;
|
|||||||
import java.util.concurrent.BlockingDeque;
|
import java.util.concurrent.BlockingDeque;
|
||||||
import java.util.concurrent.LinkedBlockingDeque;
|
import java.util.concurrent.LinkedBlockingDeque;
|
||||||
|
|
||||||
|
import forge.Singletons;
|
||||||
import forge.game.player.LobbyPlayer;
|
import forge.game.player.LobbyPlayer;
|
||||||
import forge.net.IClientSocket;
|
import forge.net.IClientSocket;
|
||||||
import forge.net.IConnectionObserver;
|
import forge.net.IConnectionObserver;
|
||||||
@@ -35,6 +36,7 @@ public class NetClient implements IConnectionObserver, INetClient{
|
|||||||
@Override
|
@Override
|
||||||
public void onConnectionClosed() {
|
public void onConnectionClosed() {
|
||||||
// Tell the game, the client is gone.
|
// Tell the game, the client is gone.
|
||||||
|
if ( player != null ) Singletons.getControl().getLobby().disconnectPlayer(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -63,8 +65,8 @@ public class NetClient implements IConnectionObserver, INetClient{
|
|||||||
* @see forge.net.client.INetClient#setPlayer(forge.game.player.LobbyPlayer)
|
* @see forge.net.client.INetClient#setPlayer(forge.game.player.LobbyPlayer)
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public final void setPlayer(LobbyPlayer lobbyPlayer) {
|
public final void createPlayer(String name) {
|
||||||
player = lobbyPlayer;
|
player = Singletons.getControl().getLobby().findOrCreateRemotePlayer(name);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* (non-Javadoc)
|
/* (non-Javadoc)
|
||||||
|
|||||||
@@ -1,7 +1,10 @@
|
|||||||
package forge.net.client.state;
|
package forge.net.client.state;
|
||||||
|
|
||||||
import forge.net.client.INetClient;
|
import forge.net.client.INetClient;
|
||||||
|
import forge.net.protocol.incoming.ChatPacket;
|
||||||
import forge.net.protocol.incoming.IPacket;
|
import forge.net.protocol.incoming.IPacket;
|
||||||
|
import forge.net.protocol.incoming.PacketOpcode;
|
||||||
|
import forge.net.protocol.outcoming.EchoMessage;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* TODO: Write javadoc for this type.
|
* TODO: Write javadoc for this type.
|
||||||
@@ -16,6 +19,13 @@ public class InLobbyClientState implements IClientState {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean processPacket(IPacket data) {
|
public boolean processPacket(IPacket data) {
|
||||||
|
if( data.getOpCode() == PacketOpcode.Chat)
|
||||||
|
{
|
||||||
|
ChatPacket cp = (ChatPacket) data;
|
||||||
|
// should actually find all players in a lobby and send it to them
|
||||||
|
client.send(new EchoMessage("chat - " + cp.getMessage()));
|
||||||
|
return true;
|
||||||
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,7 +1,5 @@
|
|||||||
package forge.net.client.state;
|
package forge.net.client.state;
|
||||||
|
|
||||||
import forge.game.player.LobbyPlayer;
|
|
||||||
import forge.game.player.PlayerType;
|
|
||||||
import forge.net.client.INetClient;
|
import forge.net.client.INetClient;
|
||||||
import forge.net.protocol.incoming.AuthorizePacket;
|
import forge.net.protocol.incoming.AuthorizePacket;
|
||||||
import forge.net.protocol.incoming.IPacket;
|
import forge.net.protocol.incoming.IPacket;
|
||||||
@@ -32,7 +30,7 @@ public class UnauthorizedClientState implements IClientState {
|
|||||||
client.send(new AuthorizationSuccessfulMessage(p.getUsername()));
|
client.send(new AuthorizationSuccessfulMessage(p.getUsername()));
|
||||||
|
|
||||||
|
|
||||||
client.setPlayer(new LobbyPlayer(PlayerType.REMOTE, p.getUsername()));
|
client.createPlayer(p.getUsername());
|
||||||
client.replaceState(this, new InLobbyClientState(client));
|
client.replaceState(this, new InLobbyClientState(client));
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ public class EchoMessage implements IMessage {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toNetString() {
|
public String toNetString() {
|
||||||
return String.format("System: %s", message);
|
return String.format("Echo: %s", message);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user