#!/usr/bin/python  
 | 
# -*- coding: GBK -*-  
 | 
#-------------------------------------------------------------------------------  
 | 
#  
 | 
#-------------------------------------------------------------------------------  
 | 
#  
 | 
##@package RecallCnt  
 | 
#  
 | 
# @todo: ÉèÖÃÕٻظöÊý  
 | 
# @author Alee  
 | 
# @date 2011-07-22 15:00  
 | 
# @version 1.0  
 | 
#  
 | 
# ÏêϸÃèÊö:  
 | 
#------------------------------------------------------------------------------   
 | 
"""Version = 2011-07-22 15:00"""  
 | 
#µ¼Èë  
 | 
import ChConfig  
 | 
import GameWorld  
 | 
#---------------------------------------------------------------------  
 | 
#È«¾Ö±äÁ¿  
 | 
#---------------------------------------------------------------------  
 | 
  
 | 
#---------------------------------------------------------------------  
 | 
  
 | 
## Ö´ÐÐÂß¼  
 | 
#  @param curPlayer µ±Ç°Íæ¼Ò  
 | 
#  @param cmList ²ÎÊýÁÐ±í  
 | 
#  @return None  
 | 
#  @remarks º¯ÊýÏêϸ˵Ã÷.  
 | 
def OnExec(curPlayer, cmList):  
 | 
    playerID = curPlayer.GetPlayerID()  
 | 
  
 | 
    cmdLen = len(cmList)  
 | 
    if cmdLen == 2:  
 | 
        cnt, flag = cmList  
 | 
    elif cmdLen == 3:      
 | 
        playerID, cnt, flag = cmList  
 | 
    else:  
 | 
        GameWorld.Log("²ÎÊý²»¶Ô")  
 | 
        return  
 | 
      
 | 
    limit = pow(2, 32) - 1  
 | 
    if cnt >= limit or flag >= limit:  
 | 
        GameWorld.Log("ÊýÖµÒì³£")  
 | 
        return  
 | 
      
 | 
    recallMgr = GameWorld.GetGameWorld().GetPlayerRecallMgr()  
 | 
    recall = recallMgr.FindPlayerRecallByPlayerID(playerID)  
 | 
      
 | 
    if recall == None:  
 | 
        GameWorld.Log("δÉêÇë¹ýÑûÇëÂë %s"%playerID)  
 | 
        return  
 | 
      
 | 
    #³õʼ»¯Ò»´Î  
 | 
    recall = recallMgr.GetPlayerRecallByPlayerID(playerID)  
 | 
    recall.SetRecallCount(cnt)  
 | 
    recall.SetReceiveFlag(flag)  
 | 
      
 | 
    curPlayer = GameWorld.GetPlayerManager().FindPlayerByID(playerID)  
 | 
    if not curPlayer:  
 | 
        return  
 | 
      
 | 
    curPlayer.Sync_PlayerRecallInfo(cnt, flag)  
 | 
    curPlayer.Sync_SendInviteCode(playerID)  
 | 
  
 |