Ejemplo n.º 1
0
        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);
            }
        }
Ejemplo n.º 2
0
        private void showRegisteredPlayers()
        {
            string registeredPlayers = "Usuarios registrados: ";

            foreach (User entry in ServerSystemController.GetRegisteredUsers())
            {
                registeredPlayers += entry.NickName + " \n";
            }
            Console.WriteLine(registeredPlayers);
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
 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;
 }
Ejemplo n.º 5
0
        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);
        }
Ejemplo n.º 6
0
        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);
            }
        }