public boolean isUserStillActive(UUID userId) { UUID playerId = userPlayerMap.get(userId); if (playerId != null) { if (tournament != null) { TournamentPlayer tournamentPlayer = tournament.getPlayer(playerId); if (tournamentPlayer != null) { return tournamentPlayer.isInTournament(); } } else if (match != null) { MatchPlayer matchPlayer = match.getPlayer(playerId); return matchPlayer != null && !matchPlayer.hasQuit(); } } return false; }
private void matchEnd() { if (match != null) { for (Entry<UUID, UUID> entry : userPlayerMap.entrySet()) { MatchPlayer matchPlayer = match.getPlayer(entry.getValue());
private static String getMatchResultString(TournamentPlayer p1, TournamentPlayer p2, Match match) { MatchPlayer mp1 = match.getPlayer(p1.getPlayer().getId()); MatchPlayer mp2 = match.getPlayer(p2.getPlayer().getId()); StringBuilder matchResult = new StringBuilder(); matchResult.append(p2.getPlayer().getName()); matchResult.append(" [").append(mp1.getWins()); if (mp1.hasQuit()) { matchResult.append(mp1.getPlayer().hasIdleTimeout() ? "I" : (mp1.getPlayer().hasTimerTimeout() ? "T" : "Q")); } if (match.getDraws() > 0) { matchResult.append('-').append(match.getDraws()); } matchResult.append('-').append(mp2.getWins()); if (mp2.hasQuit()) { matchResult.append(mp2.getPlayer().hasIdleTimeout() ? "I" : (mp2.getPlayer().hasTimerTimeout() ? "T" : "Q")); } matchResult.append("] "); return matchResult.toString(); }
StringBuilder opponent = new StringBuilder(); for (Entry<UUID, UUID> entry : userPlayerMap.entrySet()) { // do only for no AI players if (match.getPlayer(entry.getValue()) != null && !match.getPlayer(entry.getValue()).hasQuit()) { Optional<User> _user = UserManager.instance.getUser(entry.getKey()); if (_user.isPresent()) { MatchPlayer matchPlayer = match.getPlayer(entry.getValue()); if (matchPlayer != null && !matchPlayer.hasQuit()) { matchPlayer.setQuit(true);
/** * Called by eliminate tournaments after each match */ public void eliminatePlayers() { if (match != null && match.hasEnded()) { MatchPlayer mPlayer1 = match.getPlayer(player1.getPlayer().getId()); MatchPlayer mPlayer2 = match.getPlayer(player2.getPlayer().getId()); if (mPlayer1.hasQuit() || !mPlayer1.isMatchWinner()) { player1.setEliminated(); } if (mPlayer2.hasQuit() || !mPlayer2.isMatchWinner()) { player2.setEliminated(); } } } public void finishPlayersThatPlayedLastRound() {
int humanPlayers = 0; for (Map.Entry<UUID, UUID> userPlayerEntry : userPlayerMap.entrySet()) { MatchPlayer matchPlayer = match.getPlayer(userPlayerEntry.getValue()); if (matchPlayer == null) { logger.warn("- Match player not found:");
TournamentManager.instance.quit(tournament.getId(), userId); } else { MatchPlayer matchPlayer = match.getPlayer(playerId); if (matchPlayer != null && !match.hasEnded() && !matchPlayer.hasQuit()) { Game game = match.getGame(); if (game != null && !game.hasEnded()) { Player player = match.getPlayer(playerId).getPlayer(); if (player != null && player.isInGame()) { GameManager.instance.quitMatch(game.getId(), userId);
private MatchPlayerProto matchToProto(Match match, TournamentPlayer player) { MatchPlayer matchPlayer = match.getPlayer(player.getPlayer().getId()); MatchQuitStatus quit = !matchPlayer.hasQuit() ? MatchQuitStatus.NO_MATCH_QUIT : matchPlayer.getPlayer().hasIdleTimeout() ? MatchQuitStatus.IDLE_TIMEOUT : matchPlayer.getPlayer().hasTimerTimeout() ? MatchQuitStatus.TIMER_TIMEOUT : MatchQuitStatus.QUIT; return MatchPlayerProto.newBuilder() .setName(player.getPlayer().getName()) .setHuman(player.getPlayer().isHuman()) .setWins(matchPlayer.getWins()) .setQuit(quit) .build(); }