| | |
| | | #导入
|
| | | import PyGameData
|
| | | import GameWorld
|
| | | import FBHelpBattle
|
| | | import traceback
|
| | |
|
| | | #---------------------------------------------------------------------
|
| | |
|
| | |
| | | # @remarks 函数详细说明.
|
| | | def DoResult(curPlayer, callFunName, funResult, tick):
|
| | | try:
|
| | | teamID, friendList, memFamilyIDDict, memNameDict = eval(funResult)
|
| | | PyGameData.g_teamFBMemRelationDict[teamID] = [friendList, memFamilyIDDict, memNameDict]
|
| | | GameWorld.Log("队员关系信息: teamID=%s,friendList=%s,memFamilyIDDict=%s" % (teamID, friendList, memFamilyIDDict))
|
| | | except:
|
| | | pass
|
| | | 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
|
| | |
|