| | |
| | | import SkillCommon
|
| | | import IPY_GameWorld
|
| | | import DataRecordPack
|
| | | import NPCHurtManager
|
| | | #import PlayerTruck
|
| | | import ShareDefine
|
| | | import SkillShell
|
| | |
| | | #curMapTeam.SetTeamType(recvPack.GetTeamType())
|
| | | DR_Team("RefreshPlayerTeamID_Create", teamID, dataDict)
|
| | |
|
| | | if playerTeamID != teamID or not curTeam:
|
| | | isNewTeam = playerTeamID != teamID # 切地图/上线时teamID可能不变,但是team为None
|
| | | if (playerTeamID != teamID or not curTeam) and curMapTeam:
|
| | | #isNewTeam = playerTeamID != teamID # 切地图/上线时teamID可能不变,但是team为None
|
| | | #GameWorld.DebugLog(" 玩家当前无队伍,处理玩家进队!isNewTeam=%s" % isNewTeam, playerID)
|
| | | __OnEnterTeam(curPlayer, curMapTeam, isNewTeam, tick, dataDict)
|
| | | __OnEnterTeam(curPlayer, curMapTeam, playerTeamID, tick, dataDict)
|
| | | else:
|
| | | dataDict["MemberCount"] = 0 if not curMapTeam else curMapTeam.GetMemberCount()
|
| | | DR_Team("RefreshPlayerTeamID_Update", teamID, dataDict)
|
| | |
| | | # @param tick 当前时间
|
| | | # @return None
|
| | | # @remarks 函数详细说明.
|
| | | def __OnEnterTeam(curPlayer, curMapTeam, isNewTeam, tick, dataDict):
|
| | | def __OnEnterTeam(curPlayer, curMapTeam, playerTeamID, tick, dataDict):
|
| | | teamID = curMapTeam.GetTeamID()
|
| | | memCount = curMapTeam.GetMemberCount()
|
| | | if memCount >= ShareDefine.Def_Team_MaxPlayerCount:
|
| | |
| | | #PlayerTruck.ChangeTruckNoteInfo(curPlayer)
|
| | |
|
| | | #以下为进入一个新的队伍额外处理
|
| | | if not isNewTeam:
|
| | | return
|
| | | if playerTeamID != teamID:
|
| | | NPCHurtManager.OnNPCHurtPlayerEnterTeam(playerID, curPlayer.GetPlayerName(), playerTeamID, curMapTeam, tick)
|
| | | return
|
| | |
|
| | | def __OnPlayerLeaveTeam(copyMapID, playerID, leaveTeamID, tick):
|
| | |
| | | curGameWorld.GetTeamManager().DeleteTeam(leaveTeamID)
|
| | |
|
| | | __DelPlayerIDFromTeamPlayer(playerID, False)
|
| | | |
| | | NPCHurtManager.OnNPCHurtPlayerLeaveTeam(playerID, leaveTeamID, tick)
|
| | |
|
| | | dataDict = {"playerID":playerID, "copyMapID":copyMapID}
|
| | | ### =========================== 以下逻辑是玩家存在时才需要处理的 =================================
|
| | |
| | | return
|
| | |
|
| | | def DR_Team(eventName, teamID, dataDict, info=""):
|
| | | drDict = {"EventName":eventName, "TeamID":teamID, "Info":info}
|
| | | drDict.update(dataDict)
|
| | | DataRecordPack.SendEventPack("Team_%s" % GameWorld.GetMap().GetMapID(), drDict)
|
| | | #drDict = {"EventName":eventName, "TeamID":teamID, "Info":info}
|
| | | #drDict.update(dataDict)
|
| | | #DataRecordPack.SendEventPack("Team_%s" % GameWorld.GetMap().GetMapID(), drDict)
|
| | | return
|
| | |
|