예제 #1
0
        void ProcessMessage(ClientConnection client, Login loginMessage)
        {
            if (World.UserLookup(loginMessage.Username, loginMessage.Password))
            {
                // login succeeded, check there is not an existing connection for this player
                ClientConnection current;
                if (World.Users.TryGetValue(loginMessage.Username, out current))
                    current.Close();

                _log.Info("User " + loginMessage.Username + " logged in");
                client.AuthenticatedUsername = loginMessage.Username;
                World.Users.Add(loginMessage.Username, client);
            }
            else
            {
                _log.Info("Login failed for username '" + loginMessage.Username + "'");
                client.Close();
            }
        }
예제 #2
0
 void ProcessMessage(ClientConnection client, Logout message)
 {
     if (client.Avatar != null)
     {
         // remove from world.
         // TODO: do I want to remove the avatar?
         // World.Remove((EntityModel)client.Avatar);
     }
     _log.Info("Logged out '" + client.AuthenticatedUsername + "'.");
     client.Close();
 }