#!/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
|
|
|
|