#!/usr/bin/python  
 | 
# -*- coding: GBK -*-  
 | 
  
 | 
##@package PlayerRequest  
 | 
# ÇëÇóÂß¼´¦Àí  
 | 
#  
 | 
# @author Mark  
 | 
# @date 2010-4-28  
 | 
# @version 1.0  
 | 
#  
 | 
# ÐÞ¸Äʱ¼ä ÐÞ¸ÄÈË ÐÞ¸ÄÄÚÈÝ  
 | 
# VER = "2010-05-12 18:30" zhengyang Ìí¼Ó×¢ÊÍ  
 | 
#  
 | 
# Ä£¿éÏêϸ˵Ã÷  
 | 
#---------------------------------------------------------------------  
 | 
import GameWorld  
 | 
import ChConfig  
 | 
#---------------------------------------------------------------------  
 | 
  
 | 
#---------------------------------------------------------------------  
 | 
## ÅжÏÍæ¼ÒÊÇ·ñÓÐÏàͬµÄÇëÇó   
 | 
#  @param curPlayer µ±Ç°Íæ¼Ò  
 | 
#  @param curTagPlayer Ä¿±êÍæ¼Ò  
 | 
#  @param requestType ÇëÇóÀàÐÍ  
 | 
#  @return True or False  
 | 
#  @remarks º¯ÊýÏêϸ˵Ã÷.  
 | 
def CheckRequest(curPlayer,curTagPlayer,requestType):  
 | 
    if curTagPlayer == None:  
 | 
        return False  
 | 
      
 | 
    curTagPlayerID = curTagPlayer.GetPlayerID()  
 | 
    #Íæ¼ÒÇëÇó´ÎÊý  
 | 
    requestCount = curPlayer.GetRequestCount()  
 | 
    for i in range(0,requestCount):  
 | 
        requestID = curPlayer.GetRequestID(i)  
 | 
        type = curPlayer.GetRequestType(i)  
 | 
        if requestID == curTagPlayerID and type == requestType:  
 | 
            #GameWorld.Log("curTagID = %dÇëÇó¼ì²éͨ¹ý"%requestID)  
 | 
            return True  
 | 
          
 | 
    GameWorld.Log("Ë«·½ÇëÇóID²»Í¬»ò×é¶ÓÀàÐͲ»ÕýÈ·" , curPlayer.GetPlayerID(), curTagPlayerID)  
 | 
    #GameWorld.Log("ÇëÇóʧ°Ü")  
 | 
    return False  
 | 
  
 | 
## Ë¢ÐÂÍæ¼ÒÇëÇó  
 | 
#  @param curPlayer µ±Ç°Íæ¼Ò  
 | 
#  @param tick µ±Ç°Ê±¼ä  
 | 
#  @return None  
 | 
#  @remarks º¯ÊýÏêϸ˵Ã÷.  
 | 
def ProcessPlayerRequest(curPlayer, tick):  
 | 
    if tick - curPlayer.GetTickByType(ChConfig.TYPE_Player_Tick_PlayerRequest) <= ChConfig.TYPE_Player_Tick_Time[ChConfig.TYPE_Player_Tick_PlayerRequest]:  
 | 
        #ûÓе½Ë¢Ð¼ä¸ô  
 | 
        return  
 | 
      
 | 
    curPlayer.SetTickByType(ChConfig.TYPE_Player_Tick_PlayerRequest, tick)  
 | 
      
 | 
    #µ¥Î»Ê±¼äË¢ÐÂÒ»´Î  
 | 
    #Íæ¼ÒÇëÇó´ÎÊý  
 | 
    requestCount = curPlayer.GetRequestCount()  
 | 
    curIndex = 0  
 | 
    while curIndex < requestCount:    
 | 
        #»ñµÃÇëÇó¿ªÊ¼Ê±¼ä  
 | 
        requestTick = curPlayer.GetRequestTick(curIndex)  
 | 
        if requestTick == 0:  
 | 
            curIndex += 1  
 | 
            continue  
 | 
          
 | 
        #»ñµÃÇëÇó×î´óʱ¼ä  
 | 
        requestMaxTick = curPlayer.GetRequestMaxTick(curIndex)  
 | 
        if (tick - requestTick) < requestMaxTick:  
 | 
            curIndex += 1  
 | 
            continue  
 | 
          
 | 
        curPlayer.DeleteRequest(curIndex)  
 | 
        #GameWorld.Log("ÇëÇóÏìÓ¦ = %s³¬Ê±,״̬ÒÑÇå³ý"%(curIndex) , curPlayer.GetPlayerID())  
 | 
        requestCount = curPlayer.GetRequestCount()  
 | 
      
 | 
    return 
 |