def _addMemberIn(self, target_uid, mem_info, callback=None): """ 这里写的通用逻辑, 不要直接使用此接口, 因为没有检查权限 """ # 需要检查玩家加入的茶楼数量 avt = x42.GW.avatars.get(target_uid) if avt and not avt.isDestroyed: if len(avt.clubList) < const.CLUB_NUM_LIMIT: # 加入茶楼成员列表 self.members[target_uid] = mem_info avt.joinOneClub(self.clubId) callable(callback) and callback(True) else: callable(callback) and callback(False, "该玩家茶楼数量达到上限, 无法再加入本茶楼") else: def add_cb(result, error): if result: # 加入茶楼成员列表 self.members[target_uid] = mem_info callable(callback) and callback(True) else: DEBUG_MSG( "_addMemberIn add_cb clubId:{}, userId: Error = {}". format(self.clubId, target_uid, error)) callable(callback) and callback(False, "该玩家茶楼数量达到上限, 无法再加入本茶楼") dbi.addOfflineMemberInClub(self.clubId, target_uid, add_cb)
def _addMemberIn(self, target_uid, mem_info, callback=None): """ 这里写的通用逻辑, 不要直接使用此接口, 因为没有检查权限 """ # 需要检查玩家加入的亲友圈数量 avt = x42.GW.avatars.get(target_uid) if avt and not avt.isDestroyed: if avt.canJoinClub(): # 加入亲友圈成员列表 self.members[target_uid] = mem_info self.member_status[target_uid] = { 'online': True, 'free': avt.cell is None, 'login_time': mem_info['login_time'], 'logout_time': mem_info['logout_time'] } avt.joinOneClub(self.clubId) callable(callback) and callback(True) else: callable(callback) and callback(False, "该玩家亲友圈数量达到上限, 无法再加入本亲友圈") else: def add_cb(result, error): if result: # 加入亲友圈成员列表 self.members[target_uid] = mem_info self.member_status[target_uid] = { 'online': False, 'free': True, 'login_time': mem_info['login_time'], 'logout_time': mem_info['logout_time'] } callable(callback) and callback(True) else: DEBUG_MSG( "_addMemberIn add_cb clubId:{}, userId: Error = {}". format(self.clubId, target_uid, error)) callable(callback) and callback(False, "该玩家亲友圈数量达到上限, 无法再加入本亲友圈") dbi.addOfflineMemberInClub(self.clubId, target_uid, add_cb)