Search in sources :

Example 1 with BallotResults

use of de.gg.game.model.votes.BallotResults in project ProjektGG by eskalon.

the class ServersideActionHandler method onVoteCast.

@Override
public void onVoteCast(int chosenOption, short clientId) {
    session.getIndividualVotes().put(world.getPlayer(clientId).getCurrentlyPlayedCharacterId(), chosenOption);
    // Check if all votes were made
    if (session.getIndividualVotes().size() == session.getMatterToVoteOn().getVoters().size()) {
        BallotResults result = new BallotResults(BallotUtils.getBallotResult(session.getMatterToVoteOn(), session.getIndividualVotes(), session.getSessionSetup().getSeed()), session.getIndividualVotes());
        session.finishCurrentVote(result);
        clientResultListeners.onVoteFinished(result);
    }
}
Also used : BallotResults(de.gg.game.model.votes.BallotResults)

Example 2 with BallotResults

use of de.gg.game.model.votes.BallotResults in project ProjektGG by eskalon.

the class AuthoritativeSession method onNewBallot.

@Override
protected void onNewBallot(@Nullable Ballot matterToVoteOn) {
    individualVotes.clear();
    if (matterToVoteOn != null) {
        // AI vote
        for (short charId : matterToVoteOn.getVoters()) {
            boolean isPlayer = false;
            for (Player p : world.getPlayers().values()) {
                if (p.getCurrentlyPlayedCharacterId() == charId) {
                    isPlayer = true;
                    break;
                }
            }
            if (!isPlayer) {
                individualVotes.put(charId, CharacterBehaviour.getVoteOption(charId, matterToVoteOn, this));
            }
        }
        // Check if all votes were made
        if (individualVotes.size() == matterToVoteOn.getVoters().size()) {
            BallotResults result = new BallotResults(BallotUtils.getBallotResult(matterToVoteOn, individualVotes, sessionSetup.getSeed()), individualVotes);
            finishCurrentVote(result);
            clientResultListeners.onVoteFinished(result);
        }
    }
}
Also used : LobbyPlayer(de.gg.game.network.LobbyPlayer) Player(de.gg.game.model.entities.Player) BallotResults(de.gg.game.model.votes.BallotResults)

Aggregations

BallotResults (de.gg.game.model.votes.BallotResults)2 Player (de.gg.game.model.entities.Player)1 LobbyPlayer (de.gg.game.network.LobbyPlayer)1