コード例 #1
0
ファイル: __init__.py プロジェクト: zimmed/project200
    def remove_spectator(self, spec):
        """Remove spectator from game.

        :param spec: Spectator -- The spectator to remove.
        """
        index = self.spectators.index(spec)
        self.spectators.remove(spec)
        self._update_model_collection('spectators', {'action': 'remove',
                                                     'index': index})
        Spectator.delete(spec.uid, self._data_store)
コード例 #2
0
    def remove_spectator(self, spec):
        """Remove spectator from game.

        :param spec: Spectator -- The spectator to remove.
        """
        index = self.spectators.index(spec)
        self.spectators.remove(spec)
        self._update_model_collection('spectators', {
            'action': 'remove',
            'index': index
        })
        Spectator.delete(spec.uid, self._data_store)
コード例 #3
0
    def add_spectator(self, user):
        """Add a spectator to the game.

        :param user: User -- The spectator's `User` object.
        :raise: ValueError if `Game` does not allow spectators, or spectator
            slots have been filled.
        """
        if self.options.spec_mode is Game.SpecMode.NOSPEC:
            raise ValueError("This game does not allow spectators.")
        if len(self.spectators) >= self.options.spec_max:
            raise ValueError("This game has reached the max allowed "
                             "spectators.")
        self.spectators.append(Spectator(user))
        self._update_model_collection('spectators', {'action': 'append'})
コード例 #4
0
ファイル: __init__.py プロジェクト: zimmed/project200
 def restore(cls, data_store, data_model):
     kwargs = {
         'players':
             [Player.restore(data_store, x) if x is not DataModel.Null
              else None for x in data_model.players],
         'spectators':
             [Spectator.restore(data_store, x)
              for x in data_model.spectators],
         'state': data_model.state,
         'table': (Table.restore(data_store, data_model.table)
                   if data_model.table is not DataModel.Null else None),
         'points': data_model.points,
         'options': DotDict(data_model.options)
     }
     return super(Game, cls).restore(data_store, data_model, **kwargs)
コード例 #5
0
 def restore(cls, data_store, data_model):
     kwargs = {
         'players': [
             Player.restore(data_store, x)
             if x is not DataModel.Null else None
             for x in data_model.players
         ],
         'spectators':
         [Spectator.restore(data_store, x) for x in data_model.spectators],
         'state':
         data_model.state,
         'table': (Table.restore(data_store, data_model.table)
                   if data_model.table is not DataModel.Null else None),
         'points':
         data_model.points,
         'options':
         DotDict(data_model.options)
     }
     return super(Game, cls).restore(data_store, data_model, **kwargs)