#!/usr/bin/python  
 | 
# -*- coding: GBK -*-  
 | 
#  
 | 
#  
 | 
##@package AILoginIn  
 | 
# @todo: ×Ô¶¯×é¶Ó£¬¼Ó°ï»á£¬¼ÓºÃÓÑ  
 | 
#  
 | 
# @author:whx  
 | 
# @date 2012-01-13 15:30  
 | 
# @version 1.0  
 | 
  
 | 
# ¼òҪ˵Ã÷ ×Ô¶¯×é¶Ó£¬¼Ó°ï»á£¬¼ÓºÃÓÑ  
 | 
# ÏêϸÃèÊö None  
 | 
  
 | 
import base64  
 | 
from AI.AIBase import *  
 | 
from Protocol.PacketsSend import tagCJoinFriendAnswer  
 | 
from Protocol.PacketsSend import tagCTeamReq  
 | 
from Protocol.PacketsSend import tagAskJoinFamilyReply  
 | 
import logging  
 | 
import datetime  
 | 
import time  
 | 
  
 | 
from Robot.PlayerData import PlayerData  
 | 
  
 | 
VER = "2012-01-13 15:30"  
 | 
  
 | 
  
 | 
## µÇ½µÄʱºò¿ªÆô  
 | 
#  
 | 
# ¼Ì³ÐAIBase  
 | 
class AIAutoAnswer(AIBase):  
 | 
      
 | 
    ## ËùÓÐAI±ØÐë²ÉÓÃÕâÖй̶¨µÄ³õʼ»¯ÔÐÍ£¬ÒÔ±ãAIMgr×Ô¶¯¼ÓÔØ  
 | 
    #  @param None : None  
 | 
    #  @return bool  
 | 
    #  @remarks ´ËAI²»ÐèÒªÖÜÆÚÐÔ±»µ÷Óã¬ËùÒÔÉèÖÃΪ²»ÆôÓÃTimer  
 | 
    def __init__(self, robot):  
 | 
        #´ËAI²»ÐèÒªÖÜÆÚÐÔ±»µ÷Óã¬ËùÒÔÉèÖÃΪ²»ÆôÓÃTimer  
 | 
        AIBase.__init__(self, robot, 0, False, False)  
 | 
        self.SetActive(True)  
 | 
        self.MapID = 0  
 | 
  
 | 
      
 | 
    ## ÏòAIMgr×¢²áÏûÏ¢»Øµ÷º¯Êý  
 | 
    #  @param None : None  
 | 
    #  @return bool  
 | 
    #  @remarks   
 | 
    def _RegisterPacket(self, aiMgr):  
 | 
        #ÊÇ·ñ¼ÓΪºÃÓÑ  
 | 
        aiMgr.RegNetMsg(0x1101, self.AskJoinFriend, True)  
 | 
        #ÊÇ·ñ×é¶Ó  
 | 
        aiMgr.RegNetMsg(0x0901, self.OnInviteTeam, True)  
 | 
        #ÊÇ·ñ¼ÓÈë°ï»á  
 | 
        aiMgr.RegNetMsg(0x0F04, self.OnInviteFamily, True)  
 | 
          
 | 
      
 | 
    ## ÊÇ·ñ¼ÓΪºÃÓÑ  
 | 
    #  @param packData : ·â°ü¶ÔÏó  
 | 
    #  @return None  
 | 
    #  @remarks None  
 | 
    def AskJoinFriend(self, packData):  
 | 
          
 | 
        queryName = packData.LeaderName  # ÑûÇëÈ˵ÄÃû×Ö  
 | 
        queryID = packData.LeaderID  # ÑûÇëÈ˵ÄID  
 | 
          
 | 
        self.SendPackJoinFriend(queryID)  
 | 
          
 | 
        return  
 | 
      
 | 
      
 | 
    ## ÊÇ·ñ×é¶Ó  
 | 
    #  @param packData : ·â°ü¶ÔÏó  
 | 
    #  @return None  
 | 
    #  @remarks None  
 | 
    def OnInviteTeam(self, packData):  
 | 
        headerName = packData.Name  # ÑûÇëÈ˵ÄÃû×Ö  
 | 
        headerID = packData.LeaderID  # ÑûÇëÈ˵ÄID  
 | 
        teamType = packData.TeamType  # ×é¶ÓÀàÐÍ£¨1£ºÆÕͨ×é¶Ó£»2£ºÈÙÓþ×é¶Ó£©  
 | 
          
 | 
        #·¢°ü½ÓÊÜ×é¶Ó  
 | 
        self.SendPackJoinTeam(headerID, teamType)  
 | 
          
 | 
        return  
 | 
      
 | 
      
 | 
    ## ÊÇ·ñ¼ÓÈë°ï»á  
 | 
    #  @param packData : ·â°ü¶ÔÏó  
 | 
    #  @return None  
 | 
    #  @remarks None  
 | 
    def OnInviteFamily(self, packData):  
 | 
        shaikhName = packData.LeaderName  # ÑûÇëÈ˵ÄÃû×Ö  
 | 
        shaikhID = packData.LeaderID  # ÑûÇëÈ˵ÄID  
 | 
        familyName = packData.FamilyName  # ¼Ò×åÃû  
 | 
        familyID = packData.FamilyID  # ¼Ò×åID  
 | 
          
 | 
        #·¢°ü½ÓÊܼÓÈë°ï»á  
 | 
        self.SendPackJoinFamily(shaikhID)  
 | 
          
 | 
        return  
 | 
          
 | 
      
 | 
    ## ·¢°ü½ÓÊܼÓÈë°ï»á  
 | 
    #  @param tagId : Ä¿±êid  
 | 
    #  @return None  
 | 
    #  @remarks None  
 | 
    def SendPackJoinFamily(self, tagId):  
 | 
        joinFamily = tagAskJoinFamilyReply()  
 | 
        joinFamily.TagPlayerID = tagId  
 | 
        joinFamily.IsOK = 1  
 | 
          
 | 
        self.robot.Send(joinFamily)  
 | 
          
 | 
          
 | 
    ## ·¢°ü½ÓÊÜ×é¶Ó  
 | 
    #  @param tagId : Ä¿±êid  
 | 
    #  @return None  
 | 
    #  @remarks None  
 | 
    def SendPackJoinTeam(self, tagId, teamType):  
 | 
        joinTeam = tagCTeamReq()  
 | 
        joinTeam.PlayerID = tagId  
 | 
        joinTeam.TeamType = teamType  # ÆÕͨ×é¶Ó  
 | 
        joinTeam.Type = 1  # ½ÓÊÜÆÕͨ×é¶ÓÑûÇë  
 | 
          
 | 
        self.robot.Send(joinTeam)  
 | 
      
 | 
      
 | 
    ## ·¢°ü½ÓÊܼÓΪºÃÓÑ  
 | 
    #  @param tagId : Ä¿±êid  
 | 
    #  @return None  
 | 
    #  @remarks None  
 | 
    def SendPackJoinFriend(self, tagId):  
 | 
        joinFriend = tagCJoinFriendAnswer()  
 | 
        joinFriend.Clear()  
 | 
        joinFriend.TagID = tagId  
 | 
        joinFriend.Answer = 1  # ½ÓÊܼÓΪºÃÓÑ  
 | 
        self.robot.Send(joinFriend)  
 | 
          
 | 
      
 | 
      
 | 
      
 | 
      
 | 
          
 |