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 = {}
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