def enter(self, chipDestNode): destNode = self.__lastWalkNode choices = CCharPaths.getAdjacentNodes(self.__curWalkNode, self.paths) if len(choices) == 1: destNode = choices[0] else: while destNode == self.__lastWalkNode: destNode = random.choice( CCharPaths.getAdjacentNodes(self.__curWalkNode, self.paths)) destNode = chipDestNode self.notify.debug( 'Walking ' + self.character.getName() + '... from ' + str(self.__curWalkNode) + '(' + str(CCharPaths.getNodePos(self.__curWalkNode, self.paths)) + ') to ' + str(destNode) + '(' + str(CCharPaths.getNodePos(destNode, self.paths)) + ')') self.offsetDistance = ToontownGlobals.DaleOrbitDistance angle = random.randint(0, 359) self.offsetX = math.cos(deg2Rad(angle)) * self.offsetDistance self.offsetY = math.sin(deg2Rad(angle)) * self.offsetDistance self.character.sendUpdate('setFollowChip', [ self.__curWalkNode, destNode, globalClockDelta.getRealNetworkTime(), self.offsetX, self.offsetY ]) duration = CCharPaths.getWalkDuration(self.__curWalkNode, destNode, self.speed, self.paths) t = taskMgr.doMethodLater( duration, self.__doneHandler, self.character.taskName(self.character.getName() + 'DoneWalking')) t.newWalkNode = destNode
def enter(self): destNode = self._CharWalkStateAI__lastWalkNode choices = CCharPaths.getAdjacentNodes(self._CharWalkStateAI__curWalkNode, self.paths) if len(choices) == 1: destNode = choices[0] else: while destNode == self._CharWalkStateAI__lastWalkNode: destNode = random.choice(CCharPaths.getAdjacentNodes(self._CharWalkStateAI__curWalkNode, self.paths)) self.notify.debug( "Walking " + self.character.getName() + "... from " + str(self._CharWalkStateAI__curWalkNode) + "(" + str(CCharPaths.getNodePos(self._CharWalkStateAI__curWalkNode, self.paths)) + ") to " + str(destNode) + "(" + str(CCharPaths.getNodePos(destNode, self.paths)) + ")" ) self.character.sendUpdate( "setWalk", [self._CharWalkStateAI__curWalkNode, destNode, globalClockDelta.getRealNetworkTime()] ) duration = CCharPaths.getWalkDuration(self._CharWalkStateAI__curWalkNode, destNode, self.speed, self.paths) t = taskMgr.doMethodLater( duration, self.doneHandler, self.character.taskName(self.character.getName() + "DoneWalking") ) t.newWalkNode = destNode self.destNode = destNode
def enter(self): destNode = self.__lastWalkNode choices = CCharPaths.getAdjacentNodes(self.__curWalkNode, self.paths) if len(choices) == 1: destNode = choices[0] else: while destNode == self.__lastWalkNode: destNode = random.choice( CCharPaths.getAdjacentNodes(self.__curWalkNode, self.paths)) self.notify.debug( 'Walking ' + self.character.getName() + '... from ' + str(self.__curWalkNode) + '(' + str(CCharPaths.getNodePos(self.__curWalkNode, self.paths)) + ') to ' + str(destNode) + '(' + str(CCharPaths.getNodePos(destNode, self.paths)) + ')') self.character.sendUpdate('setWalk', [ self.__curWalkNode, destNode, globalClockDelta.getRealNetworkTime() ]) duration = CCharPaths.getWalkDuration(self.__curWalkNode, destNode, self.speed, self.paths) t = taskMgr.doMethodLater( duration, self.doneHandler, self.character.taskName(self.character.getName() + 'DoneWalking')) t.newWalkNode = destNode self.destNode = destNode
def enter(self, chipDestNode): """ //////////////////////////////////////////////////////////////////// // Function: called when the character enters the walk state // create a doLater to wait a specific amount of time // while character gets to the destination on all client // machines. // Parameters: none // Changes: //////////////////////////////////////////////////////////////////// """ # choose a destination # choose a new destination node, different from last #import pdb; pdb.set_trace() destNode = self.__lastWalkNode choices = CCharPaths.getAdjacentNodes(self.__curWalkNode, self.paths) if len(choices) == 1: destNode = choices[0] else: while destNode == self.__lastWalkNode: destNode = random.choice( CCharPaths.getAdjacentNodes(self.__curWalkNode, self.paths)) destNode = chipDestNode self.notify.debug("Walking " + self.character.getName() + "... from " + \ str(self.__curWalkNode) + "(" + str(CCharPaths.getNodePos(self.__curWalkNode, self.paths)) + ") to " + \ str(destNode) + "(" + str(CCharPaths.getNodePos(destNode,self.paths)) + ")") # calculate an offset self.offsetDistance = ToontownGlobals.DaleOrbitDistance angle = random.randint(0, 359) self.offsetX = math.cos(deg2Rad(angle)) * self.offsetDistance self.offsetY = math.sin(deg2Rad(angle)) * self.offsetDistance # broadcast the walk self.character.sendUpdate("setFollowChip", [ self.__curWalkNode, destNode, globalClockDelta.getRealNetworkTime(), self.offsetX, self.offsetY ]) # set up a doLater to fire when character is done walking duration = CCharPaths.getWalkDuration(self.__curWalkNode, destNode, self.speed, self.paths) t = taskMgr.doMethodLater( duration, self.__doneHandler, self.character.taskName(self.character.getName() + "DoneWalking")) t.newWalkNode = destNode
def enter(self): """ //////////////////////////////////////////////////////////////////// // Function: called when the character enters the walk state // create a doLater to wait a specific amount of time // while character gets to the destination on all client // machines. // Parameters: none // Changes: //////////////////////////////////////////////////////////////////// """ # choose a destination # choose a new destination node, different from last destNode = self.__lastWalkNode choices = CCharPaths.getAdjacentNodes(self.__curWalkNode, self.paths) if len(choices) == 1: destNode = choices[0] else: while destNode == self.__lastWalkNode: destNode = random.choice( CCharPaths.getAdjacentNodes(self.__curWalkNode, self.paths)) self.notify.debug("Walking " + self.character.getName() + "... from " + \ str(self.__curWalkNode) + "(" + str(CCharPaths.getNodePos(self.__curWalkNode, self.paths)) + ") to " + \ str(destNode) + "(" + str(CCharPaths.getNodePos(destNode,self.paths)) + ")") # broadcast the walk self.character.sendUpdate("setWalk", [ self.__curWalkNode, destNode, globalClockDelta.getRealNetworkTime() ]) # set up a doLater to fire when character is done walking duration = CCharPaths.getWalkDuration(self.__curWalkNode, destNode, self.speed, self.paths) t = taskMgr.doMethodLater( duration, self.doneHandler, self.character.taskName(self.character.getName() + "DoneWalking")) t.newWalkNode = destNode # keep track of the destination since dale needs to know about self.destNode = destNode
def generate(self, diffPath = None): DistributedChar.DistributedChar.generate(self) if diffPath == None: self.setPos(CCharPaths.getNodePos(CCharPaths.startNode, CCharPaths.getPaths(self.getName(), self.getCCLocation()))) else: self.setPos(CCharPaths.getNodePos(CCharPaths.startNode, CCharPaths.getPaths(diffPath, self.getCCLocation()))) self.setHpr(0, 0, 0) self.setParent(ToontownGlobals.SPRender) self.startBlink() self.startEarTask() self.chatTrack = Sequence() self.chatterDialogue = None self.acceptOnce('enter' + self.cSphereNode.getName(), self._DistributedCCharBase__handleCollisionSphereEnter) self.accept('exitSafeZone', self._DistributedCCharBase__handleExitSafeZone)
def generate(self, diffPath = None): DistributedChar.DistributedChar.generate(self) if diffPath == None: self.setPos(CCharPaths.getNodePos(CCharPaths.startNode, CCharPaths.getPaths(self.getName(), self.getCCLocation()))) else: self.setPos(CCharPaths.getNodePos(CCharPaths.startNode, CCharPaths.getPaths(diffPath, self.getCCLocation()))) self.setHpr(0, 0, 0) self.setParent(ToontownGlobals.SPRender) self.startBlink() self.startEarTask() self.chatTrack = Sequence() self.chatterDialogue = None self.acceptOnce('enter' + self.cSphereNode.getName(), self.__handleCollisionSphereEnter) self.accept('exitSafeZone', self.__handleExitSafeZone) return
def enter(self, chipDestNode): destNode = self._CharFollowChipStateAI__lastWalkNode choices = CCharPaths.getAdjacentNodes(self._CharFollowChipStateAI__curWalkNode, self.paths) if len(choices) == 1: destNode = choices[0] else: while destNode == self._CharFollowChipStateAI__lastWalkNode: destNode = random.choice( CCharPaths.getAdjacentNodes(self._CharFollowChipStateAI__curWalkNode, self.paths) ) destNode = chipDestNode self.notify.debug( "Walking " + self.character.getName() + "... from " + str(self._CharFollowChipStateAI__curWalkNode) + "(" + str(CCharPaths.getNodePos(self._CharFollowChipStateAI__curWalkNode, self.paths)) + ") to " + str(destNode) + "(" + str(CCharPaths.getNodePos(destNode, self.paths)) + ")" ) self.offsetDistance = ToontownGlobals.DaleOrbitDistance angle = random.randint(0, 359) self.offsetX = math.cos(deg2Rad(angle)) * self.offsetDistance self.offsetY = math.sin(deg2Rad(angle)) * self.offsetDistance self.character.sendUpdate( "setFollowChip", [ self._CharFollowChipStateAI__curWalkNode, destNode, globalClockDelta.getRealNetworkTime(), self.offsetX, self.offsetY, ], ) duration = CCharPaths.getWalkDuration( self._CharFollowChipStateAI__curWalkNode, destNode, self.speed, self.paths ) t = taskMgr.doMethodLater( duration, self._CharFollowChipStateAI__doneHandler, self.character.taskName(self.character.getName() + "DoneWalking"), ) t.newWalkNode = destNode
def generate(self, diffPath=None): """ This method is called when the DistributedObject is reintroduced to the world, either for the first time or from the cache. """ DistributedChar.DistributedChar.generate(self) if diffPath == None: self.setPos( CCharPaths.getNodePos( CCharPaths.startNode, CCharPaths.getPaths(self.getName(), self.getCCLocation()))) else: self.setPos( CCharPaths.getNodePos( CCharPaths.startNode, CCharPaths.getPaths(diffPath, self.getCCLocation()))) self.setHpr(0, 0, 0) # The characters can be immediately parented to render. self.setParent(ToontownGlobals.SPRender) # hmm. does this character ever blink? self.startBlink() self.startEarTask() # the character's chat track self.chatTrack = Sequence() # Currently playing dialog self.chatterDialogue = None # listen for the collision sphere enter event self.acceptOnce("enter" + self.cSphereNode.getName(), self.__handleCollisionSphereEnter) # listen for safe zone exit event self.accept("exitSafeZone", self.__handleExitSafeZone)
def generate(self): DistributedChar.DistributedChar.generate(self) self.setPos( CCharPaths.getNodePos(CCharPaths.startNode, CCharPaths.getPaths(self.getName()))) self.setHpr(0, 0, 0) self.setParent(ToontownGlobals.SPRender) self.startBlink() self.startEarTask() self.chatTrack = Sequence() self.acceptOnce('enter' + self.cSphereNode.getName(), self.__handleCollisionSphereEnter) self.accept('exitSafeZone', self.__handleExitSafeZone)