def onBecomePlayer( self ): """ KBEngine method. 当这个entity被引擎定义为角色时被调用 """ DEBUG_MSG("%s::onBecomePlayer: %i" % (self.className, self.id)) KBEngine.callback(GameConfigs.BOTS_UPDATE_TIME, self.update)
def onBecomePlayer( self ): """ KBEngine method. 当这个entity被引擎定义为角色时被调用 """ DEBUG_MSG("%s::onBecomePlayer: %i" % (self.__class__.__name__, self.id)) KBEngine.callback(1, self.update)
def update(self): #DEBUG_MSG("%s::update: %i" % (self.__class__.__name__, self.id)) if self.isDestroyed: return KBEngine.callback(1, self.update) # 如果自己已经死亡了,那么延时一下复活 if self.isState(GlobalDefine.ENTITY_STATE_DEAD): if self.reliveTime == -1: self.reliveTime = random.randint(1, 10) elif self.reliveTime > 0: self.reliveTime -= 1 else: self.cell.relive(1) return else: self.reliveTime = -1 self.updateTest() if self.testType == 1: self.testAttackTarget() elif self.testType == 2: self.testTeleport() else: self.moveToPoint(self.calcRandomWalkPosition(), self.velocity, 0.0, 0, True, True)
def update(self): DEBUG_MSG("%s::update: %i" % (self.__class__.__name__, self.id)) if self.isDestroyed: return KBEngine.callback(1, self.update) # 如果自己已经死亡了,那么延时一下复活 if self.isState(GlobalDefine.ENTITY_STATE_DEAD): if self.reliveTime == -1: self.reliveTime = random.randint(1, 10) elif self.reliveTime > 0: self.reliveTime -= 1 else: self.cell.relive(1) return else: self.reliveTime = -1 self.updateTest() if self.testType == 1: self.testAttackTarget() elif self.testType == 2: self.testTeleport() else: self.moveToPoint( self.calcRandomWalkPosition(), self.velocity, 0.0, 0, True, True )
def onBecomePlayer(self): """ KBEngine method. 当这个entity被引擎定义为角色时被调用 """ DEBUG_MSG("%s::onBecomePlayer: %i" % ("Bot", self.id)) self.__init__() KBEngine.callback(1, self.update)
def onEnterSpace(self): """ KBEngine method. 这个entity进入了一个新的space """ DEBUG_MSG("%s::onEnterSpace: %i" % (self.__class__.__name__, self.id)) # 注意:由于PlayerAvatar是引擎底层强制由Avatar转换过来,__init__并不会再调用 # 这里手动进行初始化一下 self.__init__() self.spawnPosition = Math.Vector3( self.position ) KBEngine.callback(1, self.updateMove)
def onBecomePlayer(self): """ KBEngine method. 当这个entity被引擎定义为角色时被调用 """ DEBUG_MSG("%s::onBecomePlayer: %i" % (self.__class__.__name__, self.id)) # 注意:由于PlayerAvatar是引擎底层强制由Avatar转换过来,__init__并不会再调用 # 这里手动进行初始化一下 self.__init__() KBEngine.callback(1, self.update)
def onEnterSpace(self): """ KBEngine method. 这个entity进入了一个新的space """ DEBUG_MSG("%s::onEnterSpace: %i" % (self.__class__.__name__, self.id)) # 注意:由于PlayerAvatar是引擎底层强制由Avatar转换过来,__init__并不会再调用 # 这里手动进行初始化一下 self.__init__() self.spawnPosition = Math.Vector3(self.position) KBEngine.callback(1, self.updateMove)
def addTimerProxy(self, time, callback): def proxy(): callback() del self.__timer__[timerID] timerID = KBEngine.callback(time, proxy) self.__timer__[timerID] = callback return timerID
def addTimer(start, interval, callback): tidObj = Tid() def callback2(): callback(tidObj) if interval > 0: tidObj.tid = KBEngine.callback(interval, callback2) tidObj.tid = KBEngine.callback(start, callback2) return tidObj
def update(self): self.base.reqAllLandInfo(0) KBEngine.callback(1, self.update)
def updateMove(self): #DEBUG_MSG("%s::updateMove: %i" % (self.__class__.__name__, self.id)) KBEngine.callback(1, self.updateMove) self.moveToPoint( self.calcRandomWalkPosition(), self.velocity, 0.0, 0, True, True )
def updateMove(self): #DEBUG_MSG("%s::updateMove: %i" % (self.__class__.__name__, self.id)) KBEngine.callback(1, self.updateMove) self.moveToPoint(self.calcRandomWalkPosition(), self.velocity, 0.0, 0, True, True)
def run(): if self.__forever__.get(callback.__name__) is self.stop: del self.__forever__[callback.__name__] assert callback.__name__ not in self.__forever__, "duplicate callback %s" % callback.__name__ self.__forever__[callback.__name__] = KBEngine.callback( offset, proxy)
def update(self): DEBUG_MSG("%s::update: %i" % (self.className, self.id)) if self.isDestroyed: return KBEngine.callback(GameConfigs.BOTS_UPDATE_TIME, self.update)
def callback2(): callback(tidObj) if interval > 0: tidObj.tid = KBEngine.callback(interval, callback2)
def __init__(self): KBEngine.EntityComponent.__init__(self) KBEngine.callback(1, self.update)
def onMoveOver(self, controllerId, userarg): """ KBEngine method. 使用引擎的任何移动相关接口, 在entity移动结束时均会调用此接口 """ KBEngine.callback(10, self.update)