public static void joinGame(int roomName, Player player) { player.sendCommand(Command.joinGameCommand(0, roomName)); player.gs = gss[roomName]; if (player.gsID != player.gs.roomID) { player.score = 0; } gss[roomName].addPlayer(player); player.gsID = player.gs.roomID; if(gss[roomName].gameStarted) { Player[] lockedPlayerList; lock (playerList) { lockedPlayerList = new Player[gss[roomName].playerList.Count]; gss[roomName].playerList.CopyTo(lockedPlayerList); } player.resetPosition(); player.sendCommand(Command.startGameInProgressCommand(0, lockedPlayerList, gss[roomName].pelletList)); } roomUpdateToAllPlayers(player.gs); Console.WriteLine(player.playerName + " has joined " + gss[roomName].roomName + "."); startStopGame(gss[roomName]); }
public static void leaveGame(int roomName, Player player) { gss[roomName].removePlayer(player); roomUpdateToAllPlayers(player.gs); player.gs = null; player.sendCommand(Command.leaveGameCommand(0, roomName)); Console.WriteLine(player.playerName + " has left " + gss[roomName].roomName + "."); startStopGame(gss[roomName]); }
public static void loginPlayer(Player player, string username, string password) { LoginResponseType lrt = LoginResponseType.FailedLogin; if (username != "" && password != "") { string realPassword = db.getPassword(username); if (realPassword == null) { realPassword = password; db.addUser(username, password); lrt = LoginResponseType.NewUser; Console.WriteLine("New user created."); } if (realPassword == password) { //db.dbPrintAll(); lrt |= LoginResponseType.SucceededLogin; player.playerName = username; Console.WriteLine(player.playerName + " has connected."); } } player.sendCommand(Command.loginCommand(0, lrt, gss)); }
public void sendPlayerInfo(Player player) { Player[] lockedPlayerList; lock (playerList) { lockedPlayerList = new Player[playerList.Count]; playerList.CopyTo(lockedPlayerList); } for (int i = 0; i < lockedPlayerList.Length; i++) { lockedPlayerList[i].sendCommand(Command.newPlayerCommand(0, player.playerName, player.playerNumber, player.score)); if (player != lockedPlayerList[i]) { player.sendCommand(Command.newPlayerCommand(0, ((Player)lockedPlayerList[i]).playerName, ((Player)lockedPlayerList[i]).playerNumber, ((Player)lockedPlayerList[i]).score)); } } }