示例#1
0
 def __init__(self, pth):
     self.LoggedGamers = []
     self.Lock = Lock()
     try:
         self.Accounts = loadJson(pth)
     except Exception as e:
         logger.critical('server.account',
                         'fail to load gamer account: %s' % str(e))
         self.Accounts = {}
示例#2
0
    def activate(self, socket_obj, id_, usrname):
        try:
            self.Signals = ClientSignal()
            self.init_slots()
            self.Engine = ClientEngine(self.Signals, socket_obj)
            self.Engine.set_gamer_name_id(id_, usrname)
            logger.info('client.activate', 'activating...')

            cmd, gamers = self.Engine.recv_cmd()
            while cmd != 'GamerInfo':
                time.sleep(1)  # 忽略其他指令
                cmd, gamers = self.Engine.recv_cmd()

            for gname, gscore in gamers['gamers']:
                self.Engine.add_gamer(gname)

            # 启动一个额外的线程用于background任务
            self.GameThread.start()
            self.Engine.show()

        except Exception as e:
            logger.critical('client.core.activate',
                            'Err when activate: {}'.format(e))
            raise e