personal game messages

This commit is contained in:
magenoxx 2012-07-23 01:29:56 +04:00
parent 6a70d1ee6d
commit c783cbc41f
8 changed files with 71 additions and 14 deletions

View file

@ -168,6 +168,9 @@ public class GameController implements GameCallback {
case LOOK:
lookAtCards(event.getPlayerId(), event.getMessage(), event.getCards());
break;
case PERSONAL_MESSAGE:
informPersonal(event.getPlayerId(), event.getMessage());
break;
}
} catch (MageException ex) {
logger.fatal("Player event listener error ", ex);
@ -519,6 +522,14 @@ public class GameController implements GameCallback {
}
}
private synchronized void informPersonal(UUID playerId, final String message) throws MageException {
perform(playerId, new Command() {
public void execute(UUID playerId) {
gameSessions.get(playerId).informPersonal(message);
}
});
}
private void error(String message, Exception ex) {
StringBuilder sb = new StringBuilder();
sb.append(message).append(ex.toString());

View file

@ -28,8 +28,6 @@
package mage.server.game;
import java.rmi.RemoteException;
import java.util.UUID;
import mage.game.Game;
import mage.interfaces.callback.ClientCallback;
import mage.server.User;
@ -38,6 +36,9 @@ import mage.view.GameClientMessage;
import mage.view.GameView;
import org.apache.log4j.Logger;
import java.rmi.RemoteException;
import java.util.UUID;
/**
*
* @author BetaSteward_at_googlemail.com
@ -84,6 +85,15 @@ public class GameWatcher {
}
}
public void informPersonal(final String message) {
if (!killed) {
User user = UserManager.getInstance().getUser(userId);
if (user != null) {
user.fireCallback(new ClientCallback("gameInformPersonal", game.getId(), new GameClientMessage(getGameView(), message)));
}
}
}
public void gameOver(final String message) {
if (!killed) {
User user = UserManager.getInstance().getUser(userId);