def opera_gamer(pid, opera_str): '''''' vcharacter = VCharacterManager().getVCharacterByCharacterId(pid) if not vcharacter: node = "game1" else: node = vcharacter.getNode() GlobalObject().root.callChild(node, 99, pid, opera_str)
def opera_gamer(pid,opera_str): '''''' vcharacter=VCharacterManager().getVCharacterByCharacterId(pid) if not vcharacter: node="game1" else: node=vcharacter.getNode() GlobalObject().root.callChild(node,99,pid,opera_str)
def SavePlayerInfoInDB(dynamicId): """将玩家信息写入数据库 node: 用于判定是 game1,game2,。。。。。这些节点 magic number: 2 --> "maybe save to db" """ vcharacter = VCharacterManager().getVCharacterByClientId(dynamicId) nodeid = vcharacter.getNode() d = GlobalObject().root.callChild(nodeid,2,dynamicId) return d
def opera_player(pid,oprea_str): """ #vcharacter是虚拟角色,VCharacterManager()虚拟角色管理器,{角色id:虚拟角色实例} """ vcharacter = VCharacterManager().getVCharacterByCharacterId(pid) if not vcharacter: node = "game1" else: node = vcharacter.getNode() GlobalObject().root.callChild(node,99,pid,oprea_str)
def netconnlost(dynamicId): '''客户端断开连接时的处理 @param dynamicId:int 客户端的动态ID ''' vcharacter=VCharacterManager().getVCharacterByClientId(dynamicId) if vcharacter and vcharacter.getNode()>0:#判断是否已经登入角色 vcharacter.lock()#锁定角色 d=SaveGamerInfoInDB(dynamicId)#保存角色,写入角色数据 d.addErrback(SaveDBSuccedOrError,vcharacter)#解锁角色 d.addCallback(dropClient,dynamicId,vcharacter)#清理客户端的数据 else: UsersManager().dropUserByDynamicId(dynamicId)
def netconnlost(dynamicId): """客户端断开连接时的处理 @param dynamicId: int 客户端的动态ID """ vcharacter = VCharacterManager().getVCharacterByClientId(dynamicId) if vcharacter and vcharacter.getNode()>0:#判断是否已经登入角色 vcharacter.lock()#锁定角色 d = SavePlayerInfoInDB(dynamicId)#保存角色,写入角色数据 d.addErrback(SaveDBSuccedOrError, vcharacter)#解锁角色 d.addCallback(dropClient, dynamicId, vcharacter)#清理客户端的数据 else: UsersManager().dropUserByDynamicId(dynamicId)
def netconnlost(dynamicId): '''客户端断开连接时的处理 @param dynamicId:int 客户端的动态ID ''' vcharacter=VCharacterManager().getVCharacterByClientId(dynamicId) if vcharacter and vcharacter.getNode()>0:#判断是否已经登入角色 vcharacter.lock()#锁定角色 result=SaveGamerInfoInDB(dynamicId)#保存角色,写入角色数据 if result: dropClient(result,dynamicId,vcharacter)#清理客户端的数据 else: UsersManager().dropUserByDynamicId(dynamicId)
def netconnlost(dynamicId): '''客户端断开连接时的处理 @param dynamicId:int 客户端的动态ID ''' vcharacter = VCharacterManager().getVCharacterByClientId(dynamicId) if vcharacter and vcharacter.getNode() > 0: #判断是否已经登入角色 vcharacter.lock() #锁定角色 result = SaveGamerInfoInDB(dynamicId) #保存角色,写入角色数据 if result: dropClient(result, dynamicId, vcharacter) #清理客户端的数据 else: UsersManager().dropUserByDynamicId(dynamicId)
def NetConnLost_2(dynamicId): '''客户端断开连接时的处理 @param dynamicId: int 客户端的动态ID ''' vcharacter = VCharacterManager().getVCharacterByClientId(dynamicId) if vcharacter and vcharacter.getNode(): #判断是否已经登入角色 vcharacter.lock() #锁定角色 d = SavePlayerInfoInDB(dynamicId) #保存角色,写入角色数据 d.addBoth(SaveDBSuccedOrError, vcharacter) #解锁角色 d.addCallback(dropClient, dynamicId, vcharacter) #清理客户端的数据 else: UsersManager().dropUserByDynamicId(dynamicId)
def SaveGamerInfoInDB(dynamicId): '''将玩家信息写入数据库''' vcharacter=VCharacterManager().getVCharacterByClientId(dynamicId) node=vcharacter.getNode() d=GlobalObject().root.callChild(node,2,dynamicId) return d
def SaveGamerInfoInDB(dynamicId): '''将玩家信息写入数据库''' vcharacter = VCharacterManager().getVCharacterByClientId(dynamicId) node = vcharacter.getNode() d = GlobalObject().root.callChild(node, 2, dynamicId) return d