def invite(self): ''' Рассылает приглашения игрокам начать игру. ''' for player in self: packet = outcoming.PartyInvitePacket(self.DISMISS_TIME) message = messages.PlayerResponseMessage(player, packet) player_dispatcher.dispatch(message)
def _send_dismiss_message_to_players(self): ''' Рассылает участникам сообщение о роспуске группы. ''' for player in self: packet = outcoming.PartyDismissPacket() message = messages.PlayerResponseMessage(player, packet) player_dispatcher.dispatch(message)
def _send_to_member(self, member, packet): ''' Отправляет сообщение конкретному игроку. @param member: TableMember @param packet: OutcomingPacket ''' message = messages.PlayerResponseMessage(member.player, packet) player_dispatcher.dispatch(message)
def _on_user_request(self, message): ''' Рассылает сообщение, что от игрока получен запрос. @param message: UserRequestMessage ''' logger.debug('sending player request message') player = self._get_player(message.user, message.connection_id) new_message = messages.PlayerRequestMessage(player, message.packet) player_dispatcher.dispatch(new_message)
def _on_user_disconnected(self, message): ''' Рассылает сообщение, что игрок отключился. @param message: UserDisconnectedMessage ''' logger.debug('sending player disconnected message') player = self._get_player(message.user, message.connection_id) new_message = messages.PlayerDisconnectedMessage(player) player_dispatcher.dispatch(new_message) del self._players[player.connection_id]
def _on_player_enter_request(self, message): ''' Выполняется при запросе пользователя на вход в зал. @param message: EnterPacket ''' player = message.player if self._can_player_enter(player): logger.debug('handling hall enter request for player %s'%player) packet = outcoming.WelcomePacket() message = messages.PlayerResponseMessage(player, packet) player_dispatcher.dispatch(message) else: logger.debug('hall enter request rejected for player %s'%player)
def _on_player_accepted(self, message): ''' Выполняется при подтверждении пользователем готовности играть. @param message: AcceptInvitePacket ''' player = message.player if player not in self._ready: self._ready.append(player) for player in self: packet = outcoming.PartyMemberReadyPacket(self, self._ready) message = messages.PlayerResponseMessage(player, packet) player_dispatcher.dispatch(message) if len(self._ready) == len(self): self._deinit() message = messages.PartyReadyMessage(self) player_dispatcher.dispatch(message)
def _send_dismiss_message(self): ''' Рассылает сообщение о роспуске группы. ''' message = messages.PartyDismissedMessage(self) player_dispatcher.dispatch(message)
def _send_game_ended_message(self): ''' Рассылает сообщение, что игра завершилась. ''' message = messages.GameEndedMessage(self) player_dispatcher.dispatch(message)