def poll(self): """ Run the poll """ if self.running: raise PollRunningError, "This poll is already running" self.running = True self.playersResponded = set() EventManager.registerCallback('game.players.add', self.addPlayer) EventManager.registerCallback('game.players.del', self.delPlayer) for player in self.game.players: self.addPlayer(player)
def __init__(self, game, **kwargs): super(BoatAttackPhase, self).__init__(game, **kwargs) self.playersToAttack = [] self.playersResponded = [] self.currActions = [] self.weaponsAttacked = [] self.currPhase = self.subphases.poll self.poll = IdleTimeoutPoll(self.game, 'Attack with your boats?', ('yes', 'no'), 30.0) self.poll.poll() EventManager.registerCallback('poll.response', self.handlePollResponse) EventManager.registerCallback('poll.finish', self.pollFinished)