Esempio n. 1
0
    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()
Esempio n. 2
0
    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
Esempio n. 3
0
 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()
Esempio n. 4
0
 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()
Esempio n. 5
0
 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
Esempio n. 6
0
    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()
Esempio n. 7
0
 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
Esempio n. 8
0
    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)
Esempio n. 9
0
 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)
Esempio n. 10
0
 def createLaffMeter(self, hp):
     lm = LaffMeter.LaffMeter(base.localAvatar.style, hp, hp)
     lm.adjustText()
     return lm