public override void clientCommandProcessor(Models.ClientMessage message) { switch (message.Command) { case "DISCONNECTED": parent.disconnected("Connection to server was lost and a log regarding the incident was created and deposited inside 'Logs' in apps home directory.", 0); break; case "REMOTEDISCONNECT": parent.disconnected("Your account was logged in from a different location.", -1); break; case "NODECKSFOUND": loadedDataChecklist[0] = true; break; case "DECKSDELIVERED": commandArgumentsToDecks(message.stringArguments); parent.loadDecksToGUI(); loadedDataChecklist[0] = true; break; case "DECKCREATED": processDeckCreated(message); break; default: break; } }
public Models.Response processLeaveLobby(Models.ClientMessage message, Socket sender) { Models.Response response = new Models.Response(sender); // we change player's location to wherever he is now that he left the lobby lobbyRoomData.changeLocation(sender, message.stringArguments[0]); // we remove any game rooms created by the player and remove the player from any rooms he joined response.socketsToNotify = lobbyRoomData.lobbyRoomUsersToSocketList(); response.socketsToNotify.Remove(sender); response.responseCommandToSockets = "REMOVELOBBYROOMUSER"; response.commandStringArgumentsToSockets.Add(lobbyRoomData.getNickNameBySocket(sender)); if (message.stringArguments[0] != "PreGameRoom") { gameRoomData.removeClient(sender); } else { response.commandStringArgumentsToSockets.Add(string.Empty); } return(response); }
public Models.Response processReadyToStart(Models.ClientMessage message, Socket sender) { Models.Response response = new Models.Response(sender); Models.Game game; game = onGoingGamesData.getGameByID(Int32.Parse(message.stringArguments[0])); if (game.isPlayer1(sender)) { game.isP1Ready = true; } else { game.isP2Ready = true; } if (game.isP1Ready && game.isP2Ready) { response.responseCommandToSockets = "READYTOGO"; response.socketsToNotify.Add(game.Player1Socket); response.socketsToNotify.Add(game.Player2Socket); } return(response); }
public override void clientCommandProcessor(Models.ClientMessage message) { switch (message.Command) { case "LOGINPERMITTED": parent.logInPermitted(); break; case "LOGINDENIED": parent.logInDenied(); break; case "DISCONNECTED": parent.weGotDisconnected("Connection to server was lost and a log regarding the incident was created and deposited inside 'Logs' in apps home directory.", 0); break; case "REMOTEDISCONNECT": parent.weGotDisconnected("Your account was logged in from a different location.", -1); break; case "ALREADYLOGGEDIN": parent.alreadyLoggedIn(); break; default: break; } }
public Models.Response processRegisterRequest(Models.ClientMessage message, Socket sender) { Models.Response response = new Models.Response(sender); /* * message.Arguments: * * 0 - username * 1 - nickname * 2 - password * 3 - email */ Tuple <bool, List <string> > dbRegisterResponse = _db.checkForRegisterInformation(message.stringArguments[0], message.stringArguments[1], message.stringArguments[3]); // if registration was successful if (dbRegisterResponse.Item1) { _db.insertNewUser(message.stringArguments[0], message.stringArguments[1], message.stringArguments[2], message.stringArguments[3]); response.responseCommandToSender = "REGISTERSUCCESSFULL"; } else { response.responseCommandToSender = "REGISTERFAILED"; response.commandStringArgumentsToSender = dbRegisterResponse.Item2; } return(response); }
public Models.Response processNewChatMessage(Models.ClientMessage message, Socket sender) { Models.Response response = new Models.Response(sender); response.socketsToNotify = lobbyRoomData.lobbyRoomUsersToSocketList(); response.responseCommandToSockets = message.Command; response.commandStringArgumentsToSockets = message.stringArguments; return(response); }
private void sendUpdateDeck() { Models.ClientMessage clientMessage = new Models.ClientMessage(); clientMessage.Command = "UPDATEDECK"; clientMessage.intArguments = new List <int>() { (deck.DeckID) }; clientMessage.stringArguments = new List <string>() { ctrl.collectionDeckToStringArgument(deck) }; ctrl.send(clientMessage); }
public Models.Response processForceLogOutRequest(Models.ClientMessage message, Socket sender) { Models.Response response = new Models.Response(sender); // message.Arguments[0] = username Socket s = _lobbyRoomData.getSocketByUsername(message.stringArguments[0]); if (s != null) { response.responseCommandToSockets = "REMOTEDISCONNECT"; response.socketsToNotify.Add(s); _parent.removeClient(s); } return(response); }
private void processJoinPreGameRoom(Models.ClientMessage message) { int roomID; roomID = Int32.Parse(message.stringArguments[0]); foreach (Models.GameRoom gameRoom in GameRooms) { if (gameRoom.RoomID == roomID) { if (gameRoom.Owner == userData.NickName) { send(new Models.ClientMessage("SETROOMSTATE", new List <string>() { roomID.ToString(), "Battle in progress..." })); } break; } } parent.joinPreGameRoom(Int32.Parse(message.stringArguments[0])); }
public Models.Response processLogInRequest(Models.ClientMessage message, Socket sender) { Models.Response response = new Models.Response(sender); // message.Arguments[0] = username // message.Arguments[1] = password // check log in information if (_db.checkLogInCredentials(message.stringArguments[0], message.stringArguments[1])) { // check if user is already logged in if (_lobbyRoomData.checkUserLoggedIn(message.stringArguments[0])) { response.responseCommandToSender = "ALREADYLOGGEDIN"; } else { // add user to list of logged in users string nickname = _db.getNickNameOfUser(message.stringArguments[0]); _lobbyRoomData.addUserToLoggedIn(message.stringArguments[0], nickname, sender); // send log in confirmation message response.responseCommandToSender = "LOGINPERMITTED"; // update every logged in user's lobby room response.responseCommandToSockets = "ADDLOBBYROOMUSER"; response.commandStringArgumentsToSockets.Add(nickname); response.socketsToNotify = _lobbyRoomData.lobbyRoomUsersToSocketList(); response.socketsToNotify.Remove(sender); } } else { response.responseCommandToSender = "LOGINDENIED"; } return(response); }
public void messageProcessor(List <Models.Message> messageList) { foreach (Models.Message message in messageList) { try { if (message.Type == "ClientMessage") { Models.ClientMessage cm = message.Value.ToObject <Models.ClientMessage>(); // parse Message to ClientMessage clientCommandProcessor(cm); } else if (message.Type == "GameMessage") { Models.GameMessage gm = message.Value.ToObject <Models.GameMessage>(); // parse Message to GameMessage gameCommandProcessor(gm); } } catch (Exception ex) { logger.Log(ex.ToString()); } } }
public override void clientCommandProcessor(Models.ClientMessage message) { switch (message.Command) { case "REGISTERSUCCESSFULL": parent.registerSuccessful(); break; case "REGISTERFAILED": parent.registerFailed(message.stringArguments); break; case "DISCONNECTED": parent.disconnected("Connection to server was lost and a log regarding the incident was created and deposited inside 'Logs' in apps home directory.", 0); break; case "REMOTEDISCONNECT": parent.disconnected("Your account was logged in from a different location.", -1); break; default: break; } }
public override void clientCommandProcessor(Models.ClientMessage message) { switch (message.Command) { case "DISCONNECTED": parent.disconnected("Connection to server was lost and a log regarding the incident was created and deposited inside 'Logs' in apps home directory.", 0); break; case "REMOTEDISCONNECT": parent.disconnected("Your account was logged in from a different location.", -1); break; case "POPULATELOBBYROOM": parent.addLobbyRoomUsers(message.stringArguments); loadedDataChecklist[0] = true; break; case "ADDLOBBYROOMUSER": parent.addLobbyRoomUsers(message.stringArguments); break; case "REMOVELOBBYROOMUSER": parent.removeLobbyRoomUser(message.stringArguments[0]); if (message.stringArguments.Count == 1) { removePlayerFromGameRooms(message.stringArguments[0]); } break; case "USERDATAFETCHED": if (isValidUserData(message.stringArguments)) { updateUserData(message.stringArguments); parent.updateLoggedInAs(userData.NickName); loadedDataChecklist[1] = true; } break; case "NEWCHATMESSAGE": parent.newChatMessage(message.stringArguments[0], message.stringArguments[1]); break; case "NOLOBBYROOMUSERS": loadedDataChecklist[0] = true; break; case "ERRORFETCHDATA": userData.Username = message.stringArguments[0]; break; case "YOUGOTCARDS": parent.setCardCollection(message.CardCollection); loadedDataChecklist[3] = true; break; case "YOUGOTROOMS": populateGameRooms(message.stringArguments); loadedDataChecklist[2] = true; break; case "ADDGAMEROOM": createRoom(message.stringArguments[0]); break; case "CLOSEROOM": closeRoom(Int32.Parse(message.stringArguments[0])); break; case "LINKUSERTOROOM": linkUserToRoom(message.stringArguments); break; case "REMOVEUSERFROMROOM": removeUserFromRoom(message.stringArguments); break; case "SETREADY": setReadyInRoom(message.stringArguments); break; case "DECKSREQUIREDTOJOIN": parent.noRoomsForMe(); break; case "JOINPREGAMEROOM": processJoinPreGameRoom(message); break; case "SETROOMSTATE": processSetRoomState(message); break; case "ALREADYINAROOM": parent.alreadyInARoom(); break; default: break; } }
private void processSetRoomState(Models.ClientMessage message) { parent.setRoomState(Int32.Parse(message.stringArguments[0]), message.stringArguments[1]); }
public virtual void clientCommandProcessor(Models.ClientMessage message) { }
public void send(Models.ClientMessage message) { com.send(message); }
public Models.Response processDeleteDeck(Models.ClientMessage message) { db.removeDeck(Int32.Parse(message.stringArguments[0])); return(null); }
private void processDeckCreated(Models.ClientMessage message) { Decks.Add(new Models.CollectionDeck(message.intArguments[0], message.stringArguments[0], new List <Models.CollectionDeckItem>())); parent.createNewDeckGUI(message.intArguments[0], message.stringArguments[0]); }