hxp
4 天以前 388823edfe6308cba6f76ca6dc4f20022c5cb2be
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#!/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