mirror of
https://github.com/magefree/mage.git
synced 2025-12-25 04:52:07 -08:00
added a bunch of game methods
This commit is contained in:
parent
58e85df735
commit
55fea43f20
32 changed files with 1105 additions and 200 deletions
|
|
@ -31,10 +31,12 @@ package mage.server;
|
|||
import io.netty.channel.ChannelId;
|
||||
import java.io.File;
|
||||
import java.io.FilenameFilter;
|
||||
import java.io.Serializable;
|
||||
import java.net.MalformedURLException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
import java.util.concurrent.ExecutorService;
|
||||
|
|
@ -45,6 +47,7 @@ import mage.cards.repository.CardRepository;
|
|||
import mage.cards.repository.CardScanner;
|
||||
import mage.cards.repository.ExpansionInfo;
|
||||
import mage.cards.repository.ExpansionRepository;
|
||||
import mage.choices.Choice;
|
||||
import mage.constants.ManaType;
|
||||
import mage.constants.PlayerAction;
|
||||
import mage.constants.TableState;
|
||||
|
|
@ -89,9 +92,12 @@ import mage.utils.ActionWithNullNegativeResult;
|
|||
import mage.utils.ActionWithTableViewResult;
|
||||
import mage.utils.CompressUtil;
|
||||
import mage.utils.MageVersion;
|
||||
import mage.view.AbilityPickerView;
|
||||
import mage.view.CardsView;
|
||||
import mage.view.ChatMessage;
|
||||
import mage.view.ChatMessage.MessageColor;
|
||||
import mage.view.DraftPickView;
|
||||
import mage.view.GameEndView;
|
||||
import mage.view.GameView;
|
||||
import mage.view.MatchView;
|
||||
import mage.view.RoomUsersView;
|
||||
|
|
@ -99,6 +105,7 @@ import mage.view.RoomView;
|
|||
import mage.view.TableView;
|
||||
import mage.view.TournamentView;
|
||||
import mage.view.UserDataView;
|
||||
import mage.view.UserRequestMessage;
|
||||
import mage.view.UserView;
|
||||
import org.apache.commons.lang3.StringEscapeUtils;
|
||||
import org.apache.log4j.Logger;
|
||||
|
|
@ -762,81 +769,81 @@ public class Main implements MageServer {
|
|||
// return null;
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public void sendPlayerUUID(final UUID gameId, final String sessionId, final UUID data) throws MageException {
|
||||
@Override
|
||||
public void sendPlayerUUID(final UUID gameId, final String sessionId, final UUID data) {
|
||||
// execute("sendPlayerUUID", sessionId, new Action() {
|
||||
// @Override
|
||||
// public void execute() {
|
||||
// User user = SessionManager.getInstance().getUser(sessionId);
|
||||
// if (user != null) {
|
||||
//// logger.warn("sendPlayerUUID gameId=" + gameId + " sessionId=" + sessionId + " username=" + user.getName());
|
||||
// user.sendPlayerUUID(gameId, data);
|
||||
// } else {
|
||||
// logger.warn("Your session expired: gameId=" + gameId + ", sessionId=" + sessionId);
|
||||
// }
|
||||
User user = SessionManager.getInstance().getUser(sessionId);
|
||||
if (user != null) {
|
||||
// logger.warn("sendPlayerUUID gameId=" + gameId + " sessionId=" + sessionId + " username=" + user.getName());
|
||||
user.sendPlayerUUID(gameId, data);
|
||||
} else {
|
||||
logger.warn("Your session expired: gameId=" + gameId + ", sessionId=" + sessionId);
|
||||
}
|
||||
// }
|
||||
// });
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public void sendPlayerString(final UUID gameId, final String sessionId, final String data) throws MageException {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void sendPlayerString(final UUID gameId, final String sessionId, final String data) {
|
||||
// execute("sendPlayerString", sessionId, new Action() {
|
||||
// @Override
|
||||
// public void execute() {
|
||||
// User user = SessionManager.getInstance().getUser(sessionId);
|
||||
// if (user != null) {
|
||||
// user.sendPlayerString(gameId, data);
|
||||
// } else {
|
||||
// logger.warn("Your session expired: gameId=" + gameId + ", sessionId=" + sessionId);
|
||||
// }
|
||||
User user = SessionManager.getInstance().getUser(sessionId);
|
||||
if (user != null) {
|
||||
user.sendPlayerString(gameId, data);
|
||||
} else {
|
||||
logger.warn("Your session expired: gameId=" + gameId + ", sessionId=" + sessionId);
|
||||
}
|
||||
// }
|
||||
// });
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public void sendPlayerManaType(final UUID gameId, final UUID playerId, final String sessionId, final ManaType data) throws MageException {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void sendPlayerManaType(final UUID gameId, final UUID playerId, final String sessionId, final ManaType data) {
|
||||
// execute("sendPlayerManaType", sessionId, new Action() {
|
||||
// @Override
|
||||
// public void execute() {
|
||||
// User user = SessionManager.getInstance().getUser(sessionId);
|
||||
// if (user != null) {
|
||||
// user.sendPlayerManaType(gameId, playerId, data);
|
||||
// } else {
|
||||
// logger.warn("Your session expired: gameId=" + gameId + ", sessionId=" + sessionId);
|
||||
// }
|
||||
User user = SessionManager.getInstance().getUser(sessionId);
|
||||
if (user != null) {
|
||||
user.sendPlayerManaType(gameId, playerId, data);
|
||||
} else {
|
||||
logger.warn("Your session expired: gameId=" + gameId + ", sessionId=" + sessionId);
|
||||
}
|
||||
// }
|
||||
// });
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public void sendPlayerBoolean(final UUID gameId, final String sessionId, final Boolean data) throws MageException {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void sendPlayerBoolean(final UUID gameId, final String sessionId, final Boolean data) {
|
||||
// execute("sendPlayerBoolean", sessionId, new Action() {
|
||||
// @Override
|
||||
// public void execute() {
|
||||
// User user = SessionManager.getInstance().getUser(sessionId);
|
||||
// if (user != null) {
|
||||
// user.sendPlayerBoolean(gameId, data);
|
||||
// } else {
|
||||
// logger.warn("Your session expired: gameId=" + gameId + ", sessionId=" + sessionId);
|
||||
// }
|
||||
User user = SessionManager.getInstance().getUser(sessionId);
|
||||
if (user != null) {
|
||||
user.sendPlayerBoolean(gameId, data);
|
||||
} else {
|
||||
logger.warn("Your session expired: gameId=" + gameId + ", sessionId=" + sessionId);
|
||||
}
|
||||
// }
|
||||
// });
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public void sendPlayerInteger(final UUID gameId, final String sessionId, final Integer data) throws MageException {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void sendPlayerInteger(final UUID gameId, final String sessionId, final Integer data) {
|
||||
// execute("sendPlayerInteger", sessionId, new Action() {
|
||||
// @Override
|
||||
// public void execute() {
|
||||
// User user = SessionManager.getInstance().getUser(sessionId);
|
||||
// if (user != null) {
|
||||
// user.sendPlayerInteger(gameId, data);
|
||||
// } else {
|
||||
// logger.warn("Your session expired: gameId=" + gameId + ", sessionId=" + sessionId);
|
||||
// }
|
||||
User user = SessionManager.getInstance().getUser(sessionId);
|
||||
if (user != null) {
|
||||
user.sendPlayerInteger(gameId, data);
|
||||
} else {
|
||||
logger.warn("Your session expired: gameId=" + gameId + ", sessionId=" + sessionId);
|
||||
}
|
||||
// }
|
||||
// });
|
||||
// }
|
||||
}
|
||||
//
|
||||
// @Override
|
||||
// public DraftPickView sendCardPick(final UUID draftId, final String sessionId, final UUID cardPick, final Set<UUID> hiddenCards) throws MageException {
|
||||
|
|
@ -1387,4 +1394,52 @@ public class Main implements MageServer {
|
|||
server.gameStarted(sessionId, gameId, playerId);
|
||||
}
|
||||
|
||||
public void initGame(String sessionId, UUID gameId, GameView gameView) {
|
||||
server.initGame(sessionId, gameId, gameView);
|
||||
}
|
||||
|
||||
void gameAsk(String sessionId, UUID gameId, GameView gameView, String question) {
|
||||
server.gameAsk(sessionId, gameId, gameView, question);
|
||||
}
|
||||
|
||||
void gameTarget(String sessionId, UUID gameId, GameView gameView, String question, CardsView cardView, Set<UUID> targets, boolean required, Map<String, Serializable> options) {
|
||||
server.gameTarget(sessionId, gameId, gameView, question, cardView, targets, required, options);
|
||||
}
|
||||
|
||||
void gameSelect(String sessionId, UUID gameId, GameView gameView, String message, Map<String, Serializable> options) {
|
||||
server.gameSelect(sessionId, gameId, gameView, message, options);
|
||||
}
|
||||
|
||||
void gameChooseAbility(String sessionId, UUID gameId, AbilityPickerView abilities) {
|
||||
server.gameChooseAbility(sessionId, gameId, abilities);
|
||||
}
|
||||
|
||||
void gameChoosePile(String sessionId, UUID gameId, String message, CardsView pile1, CardsView pile2) {
|
||||
server.gameChoosePile(sessionId, gameId, message, pile1, pile2);
|
||||
}
|
||||
|
||||
void gameChooseChoice(String sessionId, UUID gameId, Choice choice) {
|
||||
server.gameChooseChoice(sessionId, gameId, choice);
|
||||
}
|
||||
|
||||
void gamePlayMana(String sessionId, UUID gameId, GameView gameView, String message) {
|
||||
server.gamePlayMana(sessionId, gameId, gameView, message);
|
||||
}
|
||||
|
||||
void gamePlayXMana(String sessionId, UUID gameId, GameView gameView, String message) {
|
||||
server.gamePlayXMana(sessionId, gameId, gameView, message);
|
||||
}
|
||||
|
||||
void gameSelectAmount(String sessionId, UUID gameId, String message, int min, int max) {
|
||||
server.gameSelectAmount(sessionId, gameId, message, min, max);
|
||||
}
|
||||
|
||||
void endGameInfo(String sessionId, UUID gameId, GameEndView view) {
|
||||
server.endGameInfo(sessionId, gameId, view);
|
||||
}
|
||||
|
||||
void userRequestDialog(String sessionId, UUID gameId, UserRequestMessage userRequestMessage) {
|
||||
server.userRequestDialog(sessionId, gameId, userRequestMessage);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -27,6 +27,7 @@
|
|||
*/
|
||||
package mage.server;
|
||||
|
||||
import java.io.Serializable;
|
||||
import mage.remote.DisconnectReason;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
|
|
@ -35,10 +36,12 @@ import java.util.LinkedList;
|
|||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Map.Entry;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import mage.cards.decks.Deck;
|
||||
import mage.choices.Choice;
|
||||
import mage.constants.ManaType;
|
||||
import mage.game.Table;
|
||||
import mage.game.tournament.TournamentPlayer;
|
||||
|
|
@ -51,7 +54,12 @@ import mage.server.tournament.TournamentController;
|
|||
import mage.server.tournament.TournamentManager;
|
||||
import mage.server.tournament.TournamentSession;
|
||||
import mage.server.util.SystemUtil;
|
||||
import mage.view.AbilityPickerView;
|
||||
import mage.view.CardsView;
|
||||
import mage.view.GameEndView;
|
||||
import mage.view.GameView;
|
||||
import mage.view.TableClientMessage;
|
||||
import mage.view.UserRequestMessage;
|
||||
import org.apache.log4j.Logger;
|
||||
import org.mage.network.model.MessageType;
|
||||
|
||||
|
|
@ -198,6 +206,54 @@ public class User {
|
|||
Main.getInstance().gameStarted(sessionId, gameId, playerId);
|
||||
}
|
||||
|
||||
public void initGame(UUID gameId, GameView gameView) {
|
||||
Main.getInstance().initGame(sessionId, gameId, gameView);
|
||||
}
|
||||
|
||||
public void gameAsk(UUID gameId, GameView gameView, String question) {
|
||||
Main.getInstance().gameAsk(sessionId, gameId, gameView, question);
|
||||
}
|
||||
|
||||
public void gameTarget(UUID gameId, GameView gameView, String question, CardsView cardView, Set<UUID> targets, boolean required, Map<String, Serializable> options) {
|
||||
Main.getInstance().gameTarget(sessionId, gameId, gameView, question, cardView, targets, required, options);
|
||||
}
|
||||
|
||||
public void gameSelect(UUID gameId, GameView gameView, String message, Map<String, Serializable> options) {
|
||||
Main.getInstance().gameSelect(sessionId, gameId, gameView, message, options);
|
||||
}
|
||||
|
||||
public void gameChooseAbility(UUID gameId, AbilityPickerView abilities) {
|
||||
Main.getInstance().gameChooseAbility(sessionId, gameId, abilities);
|
||||
}
|
||||
|
||||
public void gameChoosePile(UUID gameId, String message, CardsView pile1, CardsView pile2) {
|
||||
Main.getInstance().gameChoosePile(sessionId, gameId, message, pile1, pile2);
|
||||
}
|
||||
|
||||
public void gameChooseChoice(UUID gameId, Choice choice) {
|
||||
Main.getInstance().gameChooseChoice(sessionId, gameId, choice);
|
||||
}
|
||||
|
||||
public void gamePlayMana(UUID gameId, GameView gameView, String message) {
|
||||
Main.getInstance().gamePlayMana(sessionId, gameId, gameView, message);
|
||||
}
|
||||
|
||||
public void gamePlayXMana(UUID gameId, GameView gameView, String message) {
|
||||
Main.getInstance().gamePlayXMana(sessionId, gameId, gameView, message);
|
||||
}
|
||||
|
||||
public void gameSelectAmount(UUID gameId, String message, int min, int max) {
|
||||
Main.getInstance().gameSelectAmount(sessionId, gameId, message, min, max);
|
||||
}
|
||||
|
||||
public void endGameInfo(UUID gameId, GameEndView view) {
|
||||
Main.getInstance().endGameInfo(sessionId, gameId, view);
|
||||
}
|
||||
|
||||
public void userRequestDialog (UUID gameId, UserRequestMessage userRequestMessage) {
|
||||
Main.getInstance().userRequestDialog(sessionId, gameId, userRequestMessage);
|
||||
}
|
||||
|
||||
public void ccDraftStarted(final UUID draftId, final UUID playerId) {
|
||||
fireCallback(new ClientCallback("startDraft", draftId, new TableClientMessage(draftId, playerId)));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -84,7 +84,8 @@ public class GameSessionPlayer extends GameSessionWatcher {
|
|||
if (!killed) {
|
||||
User user = UserManager.getInstance().getUser(userId);
|
||||
if (user != null) {
|
||||
user.fireCallback(new ClientCallback("gameAsk", game.getId(), new GameClientMessage(getGameView(), question)));
|
||||
// user.fireCallback(new ClientCallback("gameAsk", game.getId(), new GameClientMessage(getGameView(), question)));
|
||||
user.gameAsk(game.getId(), getGameView(), question);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -93,7 +94,8 @@ public class GameSessionPlayer extends GameSessionWatcher {
|
|||
if (!killed) {
|
||||
User user = UserManager.getInstance().getUser(userId);
|
||||
if (user != null) {
|
||||
user.fireCallback(new ClientCallback("gameTarget", game.getId(), new GameClientMessage(getGameView(), question, cardView, targets, required, options)));
|
||||
// user.fireCallback(new ClientCallback("gameTarget", game.getId(), new GameClientMessage(getGameView(), question, cardView, targets, required, options)));
|
||||
user.gameTarget(game.getId(), getGameView(), question, cardView, targets, required, options);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -102,7 +104,8 @@ public class GameSessionPlayer extends GameSessionWatcher {
|
|||
if (!killed) {
|
||||
User user = UserManager.getInstance().getUser(userId);
|
||||
if (user != null) {
|
||||
user.fireCallback(new ClientCallback("gameSelect", game.getId(), new GameClientMessage(getGameView(), message, options)));
|
||||
// user.fireCallback(new ClientCallback("gameSelect", game.getId(), new GameClientMessage(getGameView(), message, options)));
|
||||
user.gameSelect(game.getId(), getGameView(), message, options);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -111,7 +114,8 @@ public class GameSessionPlayer extends GameSessionWatcher {
|
|||
if (!killed) {
|
||||
User user = UserManager.getInstance().getUser(userId);
|
||||
if (user != null) {
|
||||
user.fireCallback(new ClientCallback("gameChooseAbility", game.getId(), abilities));
|
||||
// user.fireCallback(new ClientCallback("gameChooseAbility", game.getId(), abilities));
|
||||
user.gameChooseAbility(game.getId(), abilities);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -120,7 +124,8 @@ public class GameSessionPlayer extends GameSessionWatcher {
|
|||
if (!killed) {
|
||||
User user = UserManager.getInstance().getUser(userId);
|
||||
if (user != null) {
|
||||
user.fireCallback(new ClientCallback("gameChoosePile", game.getId(), new GameClientMessage(message, pile1, pile2)));
|
||||
// user.fireCallback(new ClientCallback("gameChoosePile", game.getId(), new GameClientMessage(message, pile1, pile2)));
|
||||
user.gameChoosePile(game.getId(), message, pile1, pile2);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -129,7 +134,8 @@ public class GameSessionPlayer extends GameSessionWatcher {
|
|||
if (!killed) {
|
||||
User user = UserManager.getInstance().getUser(userId);
|
||||
if (user != null) {
|
||||
user.fireCallback(new ClientCallback("gameChooseChoice", game.getId(), new GameClientMessage(choice)));
|
||||
// user.fireCallback(new ClientCallback("gameChooseChoice", game.getId(), new GameClientMessage(choice)));
|
||||
user.gameChooseChoice(game.getId(), choice);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -138,7 +144,8 @@ public class GameSessionPlayer extends GameSessionWatcher {
|
|||
if (!killed) {
|
||||
User user = UserManager.getInstance().getUser(userId);
|
||||
if (user != null) {
|
||||
user.fireCallback(new ClientCallback("gamePlayMana", game.getId(), new GameClientMessage(getGameView(), message)));
|
||||
// user.fireCallback(new ClientCallback("gamePlayMana", game.getId(), new GameClientMessage(getGameView(), message)));
|
||||
user.gamePlayMana(game.getId(), getGameView(), message);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -147,7 +154,8 @@ public class GameSessionPlayer extends GameSessionWatcher {
|
|||
if (!killed) {
|
||||
User user = UserManager.getInstance().getUser(userId);
|
||||
if (user != null) {
|
||||
user.fireCallback(new ClientCallback("gamePlayXMana", game.getId(), new GameClientMessage(getGameView(), message)));
|
||||
// user.fireCallback(new ClientCallback("gamePlayXMana", game.getId(), new GameClientMessage(getGameView(), message)));
|
||||
user.gamePlayXMana(game.getId(), getGameView(), message);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -156,7 +164,8 @@ public class GameSessionPlayer extends GameSessionWatcher {
|
|||
if (!killed) {
|
||||
User user = UserManager.getInstance().getUser(userId);
|
||||
if (user != null) {
|
||||
user.fireCallback(new ClientCallback("gameSelectAmount", game.getId(), new GameClientMessage(message, min, max)));
|
||||
// user.fireCallback(new ClientCallback("gameSelectAmount", game.getId(), new GameClientMessage(message, min, max)));
|
||||
user.gameSelectAmount(game.getId(), message, min, max);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -165,7 +174,8 @@ public class GameSessionPlayer extends GameSessionWatcher {
|
|||
if (!killed) {
|
||||
User user = UserManager.getInstance().getUser(userId);
|
||||
if (user != null) {
|
||||
user.fireCallback(new ClientCallback("endGameInfo", game.getId(), getGameEndView(playerId, table)));
|
||||
// user.fireCallback(new ClientCallback("endGameInfo", game.getId(), getGameEndView(playerId, table)));
|
||||
user.endGameInfo(game.getId(), getGameEndView(playerId, table));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -193,7 +203,8 @@ public class GameSessionPlayer extends GameSessionWatcher {
|
|||
userRequestMessage.setGameId(game.getId());
|
||||
userRequestMessage.setButton1("Accept", PlayerAction.ADD_PERMISSION_TO_ROLLBACK_TURN);
|
||||
userRequestMessage.setButton2("Deny", PlayerAction.DENY_PERMISSON_TO_ROLLBACK_TURN);
|
||||
requestedUser.fireCallback(new ClientCallback("userRequestDialog", game.getId(), userRequestMessage));
|
||||
// requestedUser.fireCallback(new ClientCallback("userRequestDialog", game.getId(), userRequestMessage));
|
||||
requestedUser.userRequestDialog(game.getId(), userRequestMessage);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -212,7 +223,8 @@ public class GameSessionPlayer extends GameSessionWatcher {
|
|||
userRequestMessage.setGameId(game.getId());
|
||||
userRequestMessage.setButton1("Accept", PlayerAction.ADD_PERMISSION_TO_SEE_HAND_CARDS);
|
||||
userRequestMessage.setButton2("Reject", null);
|
||||
user.fireCallback(new ClientCallback("userRequestDialog", game.getId(), userRequestMessage));
|
||||
// user.fireCallback(new ClientCallback("userRequestDialog", game.getId(), userRequestMessage));
|
||||
user.userRequestDialog(game.getId(), userRequestMessage);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -66,7 +66,8 @@ public class GameSessionWatcher {
|
|||
if (!killed) {
|
||||
User user = UserManager.getInstance().getUser(userId);
|
||||
if (user != null) {
|
||||
user.fireCallback(new ClientCallback("gameInit", game.getId(), getGameView()));
|
||||
// user.fireCallback(new ClientCallback("gameInit", game.getId(), getGameView()));
|
||||
user.initGame(game.getId(), getGameView());
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue