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);
}
}
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);
}
}
}
Aggregations