| #!/usr/bin/python  | 
| # -*- coding: GBK -*-  | 
| #-------------------------------------------------------------------------------  | 
| #  | 
| ##@package Player.RemoteQuery.GY_Query_EnterFBTeamRelation  | 
| #  | 
| # @todo:½øÈë×é¶Ó¸±±¾¶ÓÔ±¼äÉç½»¹ØÏµÐÅÏ¢  | 
| # @author hxp  | 
| # @date 2018-11-26  | 
| # @version 1.0  | 
| #  | 
| # ÏêϸÃèÊö: ½øÈë×é¶Ó¸±±¾¶ÓÔ±¼äÉç½»¹ØÏµÐÅÏ¢  | 
| #  | 
| #-------------------------------------------------------------------------------  | 
| #"""Version = 2018-11-26 ÏÂÎç4:18:04"""  | 
| #-------------------------------------------------------------------------------  | 
| #µ¼Èë  | 
| import PyGameData  | 
| import GameWorld  | 
| import FBHelpBattle  | 
| import traceback  | 
|   | 
| #---------------------------------------------------------------------  | 
|   | 
|   | 
| #---------------------------------------------------------------------  | 
| #Â߼ʵÏÖ  | 
| ## ÇëÇóÂß¼  | 
| #  @param query_Type ÇëÇóÀàÐÍ  | 
| #  @param query_ID ÇëÇóµÄÍæ¼ÒID  | 
| #  @param packCMDList ·¢°üÃüÁî [ ]  | 
| #  @param tick µ±Ç°Ê±¼ä  | 
| #  @return "True" or "False" or ""  | 
| #  @remarks º¯ÊýÏêϸ˵Ã÷.  | 
| def DoLogic(query_Type, query_ID, packCMDList, tick):  | 
|     return  | 
|   | 
|   | 
| #Ö´Ðнá¹û  | 
| ## Ö´Ðнá¹û  | 
| #  @param curPlayer ·¢³öÇëÇóµÄÍæ¼Ò  | 
| #  @param callFunName ¹¦ÄÜÃû³Æ  | 
| #  @param funResult ²éѯµÄ½á¹û  | 
| #  @param tick µ±Ç°Ê±¼ä  | 
| #  @return None  | 
| #  @remarks º¯ÊýÏêϸ˵Ã÷.  | 
| def DoResult(curPlayer, callFunName, funResult, tick):  | 
|     try:  | 
|         msgList = eval(funResult)  | 
|         msgType = msgList[0]  | 
|         if msgType == "InitRelation":  | 
|             teamID, friendList, memFamilyIDDict, memNameDict = msgList[1:]  | 
|             PyGameData.g_teamFBMemRelationDict[teamID] = [friendList, memFamilyIDDict, memNameDict]  | 
|             GameWorld.Log("¶ÓÔ±³õʼ¹ØÏµÐÅÏ¢: teamID=%s,friendList=%s,memFamilyIDDict=%s" % (teamID, friendList, memFamilyIDDict))  | 
|             return  | 
|           | 
|         if msgType == "FriendChange":  | 
|             teamID, playerID, tagPlayerID, isFriend = msgList[1:]  | 
|             GameWorld.Log("¶ÓÔ±ºÃÓѱä¸ü: teamID=%s,playerID=%s,tagPlayerID=%s,isFriend=%s" % (teamID, playerID, tagPlayerID, isFriend))  | 
|             if teamID not in PyGameData.g_teamFBMemRelationDict:  | 
|                 return  | 
|             friendList = PyGameData.g_teamFBMemRelationDict[teamID][0]  | 
|             if isFriend:  | 
|                 friendList.append([playerID, tagPlayerID])  | 
|                 friendList.append([tagPlayerID, playerID])  | 
|             else:  | 
|                 if [playerID, tagPlayerID] in friendList:  | 
|                     friendList.remove([playerID, tagPlayerID])  | 
|                 if [tagPlayerID, playerID] in friendList:  | 
|                     friendList.remove([tagPlayerID, playerID])  | 
|                       | 
|         elif msgType == "FamilyChange":  | 
|             teamID, playerID, familyID = msgList[1:]  | 
|             GameWorld.Log("¶ÓÔ±¼Ò×å±ä¸ü: teamID=%s,playerID=%s,familyID=%s" % (teamID, playerID, familyID))  | 
|             if teamID not in PyGameData.g_teamFBMemRelationDict:  | 
|                 GameWorld.Log("teamID=%s, not in PyGameData.g_teamFBMemRelationDict %s" % (teamID, PyGameData.g_teamFBMemRelationDict))  | 
|                 return  | 
|             memFamilyIDDict = PyGameData.g_teamFBMemRelationDict[teamID][1]  | 
|             memFamilyIDDict[playerID] = familyID  | 
|               | 
|         else:  | 
|             return  | 
|           | 
|         # ¹ØÏµ±ä¸üˢР | 
|         FBHelpBattle.RefershTeamFBMemRelation(tick)  | 
|     except BaseException:  | 
|         errorMsg = str(traceback.format_exc())  | 
|         GameWorld.ErrLog("%s" % errorMsg)  | 
|       | 
|     return  | 
|   |