Show user name in title bar of MAGE. Clear table chat after disconnect. Remove user from chat after disconnect. Some tweaking about the messages if a user disconnected/session expired.

This commit is contained in:
LevelX2 2013-04-29 17:18:43 +02:00
parent ae30e9a884
commit b6ddaabe44
12 changed files with 58 additions and 28 deletions

View file

@ -102,7 +102,7 @@ public class UserManager {
public void disconnect(UUID userId) {
if (userId != null) {
ChatManager.getInstance().removeUser(userId);
ChatManager.getInstance().removeUser(userId, User.DisconnectReason.Disconnected);
if (users.containsKey(userId)) {
logger.info("user disconnected " + userId);
users.get(userId).setSessionId("");
@ -118,12 +118,12 @@ public class UserManager {
return false;
}
public void removeUser(UUID userId) {
public void removeUser(UUID userId, User.DisconnectReason reason) {
if (users.containsKey(userId)) {
logger.info("user removed" + userId);
users.get(userId).setSessionId("");
ChatManager.getInstance().removeUser(userId, reason);
ChatManager.getInstance().broadcast(userId, "has disconnected", MessageColor.BLACK);
users.get(userId).kill();
users.get(userId).kill(User.DisconnectReason.Disconnected);
users.remove(userId);
}
}
@ -142,7 +142,7 @@ public class UserManager {
for (User user: users.values()) {
if (user.isExpired(expired.getTime())) {
logger.info(user.getName() + " session expired " + user.getId());
user.kill();
user.kill(User.DisconnectReason.SessionExpired);
users.remove(user.getId());
}
}