Fixed CardInfo and ExpansionInfo compare with server. Fixed UserData update.

This commit is contained in:
LevelX2 2015-09-27 19:38:24 +02:00
parent c8b092c758
commit 78a3e649bc
22 changed files with 2409 additions and 2180 deletions

File diff suppressed because it is too large Load diff

View file

@ -43,7 +43,6 @@ import mage.remote.Connection;
import mage.remote.DisconnectReason;
import mage.server.game.GamesRoomManager;
import mage.server.util.ConfigSettings;
import mage.view.UserDataView;
import org.apache.log4j.Logger;
/**
@ -155,17 +154,9 @@ public class Session {
this.userId = user.getId();
}
public boolean setUserData(User user, UserDataView userDataView) {
public boolean setUserData(User user, UserData userData) {
if (user != null) {
UserData userData = user.getUserData();
if (user.getUserData() == null || user.getUserData().getGroupId() == UserGroup.DEFAULT.getGroupId()) {
userData = new UserData(UserGroup.PLAYER, userDataView.getAvatarId(),
userDataView.isShowAbilityPickerForced(), userDataView.isAllowRequestShowHandCards(),
userDataView.confirmEmptyManaPool(), userDataView.getUserSkipPrioritySteps(),
userDataView.getFlagName(), userDataView.askMoveToGraveOrder(),
userDataView.isManaPoolAutomatic(), userDataView.isAllowRequestShowHandCards(),
userDataView.isPassPriorityCast(), userDataView.isPassPriorityActivation(),
userDataView.isAutoOrderTrigger());
user.setUserData(userData);
} else {
user.getUserData().update(userData);

View file

@ -27,14 +27,14 @@
*/
package mage.server;
import mage.remote.DisconnectReason;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import mage.players.net.UserData;
import mage.remote.Connection;
import mage.remote.DisconnectReason;
import mage.server.services.LogKeys;
import mage.server.services.impl.LogServiceImpl;
import mage.view.UserDataView;
import org.apache.log4j.Logger;
import org.mage.network.messages.MessageType;
@ -70,18 +70,18 @@ public class SessionManager {
Session session = new Session(sessionId);
sessions.put(sessionId, session);
session.setHost(host);
String returnMessage = session.registerUser(connection);
if (returnMessage == null) {
LogServiceImpl.instance.log(LogKeys.KEY_USER_CONNECTED, connection.getUsername(), session.getHost(), sessionId);
String returnMessage = session.registerUser(connection);
if (returnMessage == null) {
LogServiceImpl.instance.log(LogKeys.KEY_USER_CONNECTED, connection.getUsername(), session.getHost(), sessionId);
logger.info(connection.getUsername() + " joined server");
logger.debug("- userId: " + session.getUserId());
logger.debug("- sessionId: " + sessionId);
logger.debug("- host: " + session.getHost());
return true;
}
logger.debug(connection.getUsername() + " not registered: " + returnMessage);
ServerMain.getInstance().informClient(sessionId, "Connection Error", returnMessage, MessageType.ERROR);
logger.info(connection.getUsername() + " joined server");
logger.debug("- userId: " + session.getUserId());
logger.debug("- sessionId: " + sessionId);
logger.debug("- host: " + session.getHost());
return true;
}
logger.debug(connection.getUsername() + " not registered: " + returnMessage);
ServerMain.getInstance().informClient(sessionId, "Connection Error", returnMessage, MessageType.ERROR);
return false;
}
@ -96,10 +96,10 @@ public class SessionManager {
return false;
}
public boolean setUserData(String sessionId, UserDataView userDataView) {
public boolean setUserData(String sessionId, UserData userData) {
Session session = sessions.get(sessionId);
if (session != null) {
session.setUserData(UserManager.getInstance().getUser(session.getUserId()), userDataView);
session.setUserData(UserManager.getInstance().getUser(session.getUserId()), userData);
return true;
}
return false;