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