#!/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  
 | 
  
 |