#!/usr/bin/python # -*- coding: GBK -*- # ##@package AIManager.py # Ä£¿éµÄ¼òҪ˵Ã÷:AI¹ÜÀíÆ÷ # @author:ifo # @date 2011-09-06 10:00 # @version 1.0 # # change log: # ÐÞ¸ÄÄ£¿é£¬¶Ô´úÂë½øÐÐÓÅ»¯ÒÔ±ãÌá¸ßÐÔÄÜ 2011-9-6 Alee # # Ä£¿éÏêϸ˵Ã÷:AI¹ÜÀíÆ÷ # #-------------------------------------------------------------- from Utils.timer import Timer import logging class AIBase(Timer): def __init__(self, robot, sec, bStart, bRep ): #±£´æµÄRobotµÄÒýÓÃ,ÓÃÓÚÏòrobot´æ´¢Êý¾Ý #***×¢Ò⣺²»Òª°ÑÖ»ºÍAIÖ´ÐÐÓйصÄÔËÐÐÊý¾Ý·Åµ½robotÄÚ self.robot = robot self.bActive = False self.className = None Timer.__init__(self, sec, bStart, bRep ) #ÏòAIMgr×¢²áÏûÏ¢»Øµ÷º¯Êý #×ÓÀà¿ÉÖØÔØ´Ëº¯Êý def _RegisterPacket(self, aiMgr ): logging.debug( "Empty _RegisterPacket implementation for class %s" % self.AIName() ) def AIName(self): if self.className: return self.className else: className = str(self.__class__).split(".") className = className[len(className)-1] className = className.split("'")[0] self.className = className return className def Tick( self ): #δ¼¤»î£¬²»×öÈκβÙ×÷ if not self.bActive: return else: return Timer.Tick( self ) #ÔÚ¼ÆÊ±Æ÷µ½ÁËʱ¼äºó´Ëº¯Êý»á±»µ÷Óà #×ÓÀà¿ÉÖØÔØ´Ëº¯Êý def _Process( self ): logging.debug( "Empty _Process implementation for class %s" % self.AIName() ) #ÉèÖü¤»î״̬ def SetActive(self, bActive ): self.bActive = bActive #»ñÈ¡¼¤»î״̬ def Active(self): return self.bActive