Ejemplo n.º 1
0
 def invite(self):
     '''
     Рассылает приглашения игрокам начать игру.
     '''
     for player in self:
         packet = outcoming.PartyInvitePacket(self.DISMISS_TIME)
         message = messages.PlayerResponseMessage(player, packet)
         player_dispatcher.dispatch(message)
Ejemplo n.º 2
0
 def _send_dismiss_message_to_players(self):
     '''
     Рассылает участникам сообщение о роспуске группы.
     '''
     for player in self:
         packet = outcoming.PartyDismissPacket()
         message = messages.PlayerResponseMessage(player, packet)
         player_dispatcher.dispatch(message)
Ejemplo n.º 3
0
 def _send_to_member(self, member, packet):
     '''
     Отправляет сообщение конкретному игроку.
     @param member: TableMember
     @param packet: OutcomingPacket
     '''
     message = messages.PlayerResponseMessage(member.player, packet)
     player_dispatcher.dispatch(message)
Ejemplo n.º 4
0
 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)
Ejemplo n.º 5
0
 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]
Ejemplo n.º 6
0
 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)
Ejemplo n.º 7
0
 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)
Ejemplo n.º 8
0
 def _send_dismiss_message(self):
     '''
     Рассылает сообщение о роспуске группы.
     '''
     message = messages.PartyDismissedMessage(self)
     player_dispatcher.dispatch(message)
Ejemplo n.º 9
0
 def _send_game_ended_message(self):
     '''
     Рассылает сообщение, что игра завершилась.
     '''
     message = messages.GameEndedMessage(self)
     player_dispatcher.dispatch(message)