private bool CheckIfUserDeletedOrModified(User user) { List <User> remoteUsers = ServerSystemController.GetRegisteredUsers(); List <User> filteredListed = remoteUsers.Where(p => p.Id == user.Id).ToList(); if (filteredListed.Count > 0) { User userInList = filteredListed[0]; if (userInList.NickName != user.NickName) { User userInServer = RegisteredUsers.FirstOrDefault(x => x.Value.NickName.Equals(user.NickName)).Value; TcpClient clientInServer = RegisteredUsers.FirstOrDefault(x => x.Value.NickName.Equals(user.NickName)).Key; RegisteredUsers.Remove(clientInServer); userInServer.NickName = userInList.NickName; RegisteredUsers.Add(clientInServer, userInServer); showRegisteredPlayers(); showConnectedPlayers(); } return(true); } else { return(false); } }
private void showRegisteredPlayers() { string registeredPlayers = "Usuarios registrados: "; foreach (User entry in ServerSystemController.GetRegisteredUsers()) { registeredPlayers += entry.NickName + " \n"; } Console.WriteLine(registeredPlayers); }
private void sendStatistics() { MatchPlayerStatistic statistic = new MatchPlayerStatistic(); statistic.MatchId = Id; foreach (User user in Users) { Tuple <User, bool> tuple = new Tuple <User, bool>(user, Winners.Contains(user)); statistic.userList.Add(tuple); } ServerSystemController.AddStatistic(statistic); }
public Match(Logger logger, ServerSystemController serverSystemController) { MovementCommands = new Dictionary <string, Direction>() { { "arriba", Direction.UP }, { "abajo", Direction.DOWN }, { "izquierda", Direction.LEFT }, { "derecha", Direction.RIGHT } }; this.Logger = logger; Id = 0; ServerSystemController = serverSystemController; }
private void checkRecordPoints() { List <UserScore> userScores = new List <UserScore>(); foreach (User user in Users) { UserScore userScore = new UserScore(); userScore.CharacterType = user.Character.Type; userScore.user = user; userScore.Date = DateTime.Now; userScore.Score = user.CurrentKills; userScores.Add(userScore); } ServerSystemController.AddScores(userScores); }
private void sendAuthorizatonData(string data, NetworkStream nws, TcpClient client, ref User user) { List <User> remoteUsers = ServerSystemController.GetRegisteredUsers(); byte[] responseStream; lock (registrationLock) { if (!remoteUsers.Contains(user)) { RegisteredUsers.Add(client, user); ServerSystemController.AddUserToSystem(user); showRegisteredPlayers(); showConnectedPlayers(); responseStream = Protocol.GenerateStream(ProtocolConstants.SendType.RESPONSE, ProtocolConstants.LOGIN, ProtocolConstants.OK_RESPONSE_CODE); } else { if (RegisteredUsers.ContainsValue(user)) { User userInServer = RegisteredUsers.FirstOrDefault(x => x.Value.NickName.Equals(data)).Value; TcpClient clientInServer = RegisteredUsers.FirstOrDefault(x => x.Value.NickName.Equals(data)).Key; if (userInServer.Connected) { responseStream = Protocol.GenerateStream(ProtocolConstants.SendType.RESPONSE, ProtocolConstants.LOGIN, "400"); } else { User userFromServer = ServerSystemController.GetUserInServer(user); RegisteredUsers.Remove(clientInServer); RegisteredUsers.Add(client, userFromServer); showRegisteredPlayers(); showConnectedPlayers(); responseStream = Protocol.GenerateStream(ProtocolConstants.SendType.RESPONSE, ProtocolConstants.LOGIN, ProtocolConstants.OK_RESPONSE_CODE); } } else { User userFromServer = ServerSystemController.GetUserInServer(user); RegisteredUsers.Add(client, userFromServer); showRegisteredPlayers(); showConnectedPlayers(); responseStream = Protocol.GenerateStream(ProtocolConstants.SendType.RESPONSE, ProtocolConstants.LOGIN, ProtocolConstants.OK_RESPONSE_CODE); } } nws.Write(responseStream, 0, responseStream.Length); } }