def enterSwim(self): self.notify.debug('enterSwim') base.playMusic(self.music, looping=1, volume=0.9) self.localLerp = Sequence() self.timer = ToontownTimer.ToontownTimer() self.timer.posInTopRightCorner() self.timer.setTime(self.TIME) self.timer.countdown(self.TIME, self.timerExpired) self.mapModel.show() self.mapAvatars = {} avatarScale = 0.025 * self.mapScaleRatio for avId in self.remoteAvIdList: avatar = base.cr.doId2do.get(avId, False) if avatar != False: self.mapAvatars[avId] = LaffMeter.LaffMeter(avatar.style, avatar.hp, avatar.maxHp) self.mapAvatars[avId].reparentTo(self.mapModel) self.mapAvatars[avId].setScale(avatarScale) self.mapAvatars[avId].start() avatar = base.cr.doId2do[self.localAvId] self.mapAvatars[self.localAvId] = LaffMeter.LaffMeter(avatar.style, avatar.hp, avatar.maxHp) self.mapAvatars[self.localAvId].reparentTo(self.mapModel) self.mapAvatars[self.localAvId].setScale(avatarScale) self.mapAvatars[self.localAvId].start() self.accept('resetClock', self.__resetClock) self.__spawnUpdateLocalToonTask() self.__spawnCrabTask() self.__spawnTreasureBoundsTask()
def setLaffMeter(self, avatar): self.notify.debug("setLaffMeter: new avatar %s" % avatar.doId) # Don't set the laff meter if it is already set for this toon. if self.avatar == avatar: # Send an HP update, just in case things changed. messenger.send(self.avatar.uniqueName("hpChange"), [avatar.hp, avatar.maxHp, 1]) return None else: # Cleanup the previous laffMeter, if there was one if self.avatar: self.cleanupLaffMeter() self.avatar = avatar self.laffMeter = LaffMeter.LaffMeter(avatar.style, avatar.hp, avatar.maxHp) # Connect the laff meter to the avatar self.laffMeter.setAvatar(self.avatar) self.laffMeter.reparentTo(self) self.laffMeter.setPos(-0.06, 0, 0.05) self.laffMeter.setScale(0.045) self.laffMeter.start() # Set the healthText self.setHealthText(avatar.hp, avatar.maxHp) self.hpChangeEvent = self.avatar.uniqueName("hpChange") self.accept(self.hpChangeEvent, self.setHealthText) return None
def showToon(self): av = [x for x in self.avatarList if x.position == self.selectedToon][0] dna = av.dna if av.allowedName == 1: self.toon.setName(av.name + '\n\x01textShadow\x01NAME REJECTED!\x02') self.changeName.show() elif av.wantName != '': self.toon.setName(av.name + '\n\x01textShadow\x01NAME PENDING!\x02') self.changeName.hide() else: self.toon.setName(av.name) self.changeName.hide() self.toon.setDNAString(dna) self.laffMeter = LaffMeter.LaffMeter(ToonDNA.ToonDNA(dna), av.hp, av.maxHp) self.laffMeter.set_pos(-0.6, 0, -0.5) self.laffMeter.reparent_to(self.patNode2d) self.laffMeter.start() self.toon.setHat(av.hat[0], av.hat[1], av.hat[2]) self.toon.setGlasses(av.glasses[0], av.glasses[1], av.glasses[2]) self.toon.setBackpack(av.backpack[0], av.backpack[1], av.backpack[2]) self.toon.setShoes(av.shoes[0], av.shoes[1], av.shoes[2]) self.jumpIn = Sequence(Func(self.toon.loop, 'wave'), Wait(self.toon.getDuration('wave')), Func(self.toon.animFSM.request, 'neutral')) self.jumpIn.start() self.toon.animFSM.request('neutral') self.toon.show()
def __init__(self, doneEvent): fadeModel = loader.loadModel('phase_3/models/misc/fade') if fadeModel: self.fade = DirectFrame(parent=aspect2dp, relief=None, image=fadeModel, image_color=(0, 0, 0, 0.4), image_scale=4.0, state=DGG.NORMAL) self.fade.reparentTo(aspect2d, FADE_SORT_INDEX) fadeModel.removeNode() else: print 'Problem loading fadeModel.' self.fade = None self.dialog = TTDialog.TTGlobalDialog( message=TTLocalizer.PlaygroundDeathAckMessage, doneEvent=doneEvent, style=TTDialog.Acknowledge, suppressKeys=True) self.dialog['text_pos'] = (-.26, 0.1) scale = self.dialog.component('image0').getScale() scale.setX(scale[0] * 1.3) self.dialog.component('image0').setScale(scale) av = base.localAvatar self.laffMeter = LaffMeter.LaffMeter(av.style, av.hp, av.maxHp) self.laffMeter.reparentTo(self.dialog) if av.style.getAnimal() == 'monkey': self.laffMeter.setPos(-0.46, 0, -0.035) self.laffMeter.setScale(0.085) else: self.laffMeter.setPos(-0.48, 0, -0.035) self.laffMeter.setScale(0.1) self.laffMeter.start() self.dialog.show()
def __init__(self, avId, avName): self.avId = avId if base.cr.doId2do.has_key(self.avId): self.avatar = base.cr.doId2do[self.avId] else: self.avatar = None DirectFrame.__init__(self, relief=None, image_color=GlobalDialogColor, image_scale=(0.4, 1.0, 0.24), image_pos=(0.0, 0.1, 0.0)) self['image'] = DGG.getDefaultDialogGeom() self.scoreText = DirectLabel(self, relief=None, text='0', text_scale=TTLocalizer.MASPscoreText, pos=(0.1, 0.0, -0.09)) if self.avatar: self.laffMeter = LaffMeter.LaffMeter(self.avatar.style, self.avatar.hp, self.avatar.maxHp) self.laffMeter.reparentTo(self) self.laffMeter.setPos(-0.085, 0, -0.035) self.laffMeter.setScale(0.05) self.laffMeter.start() else: self.laffMeter = None self.nameText = DirectLabel(self, relief=None, text=avName, text_scale=TTLocalizer.MASPnameText, text_pos=(0.0, 0.06), text_wordwrap=7.5, text_shadow=(1, 1, 1, 1)) self.show() return
def __init__(self, avId, avName): self.avId = avId if self.avId in base.cr.doId2do: self.avatar = base.cr.doId2do[self.avId] else: # Must be a suit self.avatar = None # initialize our base class. DirectFrame.__init__( self, relief=None, image_color=GlobalDialogColor, image_scale=(0.4, 1.0, 0.24), image_pos=(0.0, 0.1, 0.0), ) # For some reason, we need to set this after construction to # get it to work properly. self['image'] = DGG.getDefaultDialogGeom() # Make a label for showing the score. self.scoreText = DirectLabel(self, relief=None, text="0", text_scale=TTLocalizer.MASPscoreText, pos=(0.1, 0.0, -0.09)) if self.avatar: self.laffMeter = LaffMeter.LaffMeter(self.avatar.style, self.avatar.hp, self.avatar.maxHp) self.laffMeter.reparentTo(self) self.laffMeter.setPos(-0.085, 0, -0.035) self.laffMeter.setScale(0.05) self.laffMeter.start() else: self.laffMeter = None # Make a label for showing the avatar's name. This goes down # here at the end, so the name will be on top of the other # stuff. self.nameText = DirectLabel(self, relief=None, text=avName, text_scale=TTLocalizer.MASPnameText, text_pos=(0.0, 0.06), text_wordwrap=7.5, text_shadow=(1, 1, 1, 1)) self.show()
def setLaffMeter(self, avatar): self.notify.debug('setLaffMeter: new avatar %s' % avatar.doId) if self.avatar == avatar: messenger.send(self.avatar.uniqueName('hpChange'), [avatar.hp, avatar.maxHp, 1]) return else: if self.avatar: self.cleanupLaffMeter() self.avatar = avatar self.laffMeter = LaffMeter.LaffMeter(avatar.style, avatar.hp, avatar.maxHp) self.laffMeter.setAvatar(self.avatar) self.laffMeter.reparentTo(self) self.laffMeter.setPos(-0.06, 0, 0.05) self.laffMeter.setScale(0.045) self.laffMeter.start() self.setHealthText(avatar.hp, avatar.maxHp) self.hpChangeEvent = self.avatar.uniqueName('hpChange') self.accept(self.hpChangeEvent, self.setHealthText) return
def showToon(self): av = [x for x in self.avList if x.position == self.currentSlot][0] dna = av.dna if av.wantName != '': self.nameYourToonButton.hide() self.statusText['text'] = TTLocalizer.AvatarChoiceNameReview elif av.approvedName != '': self.nameYourToonButton.hide() self.statusText['text'] = TTLocalizer.AvatarChoiceNameApproved elif av.rejectedName != '': self.nameYourToonButton.hide() self.statusText['text'] = TTLocalizer.AvatarChoiceNameRejected elif av.allowedName == 1: self.nameYourToonButton.show() self.statusText['text'] = '' else: self.nameYourToonButton.hide() self.statusText['text'] = '' self.toon.setDNAString(dna) self.toon.loop('neutral') self.toon.show() self.laffmeter = LaffMeter.LaffMeter(ToonDNA.ToonDNA(dna), av.hp, av.maxHp) self.laffmeter.setPos(-.7, 0, -.655) self.laffmeter.setScale(self.laffmeter, .8) self.laffmeter.start() self.laffmeter.reparentTo(self.pat2dNode) self.name.setText(av.name.decode("latin-1")) lastAreaName = ToontownGlobals.hoodNameMap.get(av.lastHood, [""])[-1] self.area.setText(lastAreaName)
def __makeLaffMeter(self, avatar): self.laffMeter = LaffMeter.LaffMeter(avatar.style, avatar.hp, avatar.maxHp) self.laffMeter.reparentTo(self.frame) self.laffMeter.setPos(-0.1, 0, 0.24) self.laffMeter.setScale(0.03)
def createLaffMeter(self, hp): lm = LaffMeter.LaffMeter(base.localAvatar.style, hp, hp) lm.adjustText() return lm