def __init__(self, doneEvent, petSeed, petNameIndex):
     zoneId = ZoneUtil.getCanonicalSafeZoneId(base.localAvatar.getZoneId())
     name, dna, traitSeed = PetUtil.getPetInfoFromSeed(petSeed, zoneId)
     name = TTLocalizer.getPetName(petNameIndex)
     cost = PetUtil.getPetCostFromSeed(petSeed, zoneId)
     model = loader.loadModel('phase_4/models/gui/AdoptPet')
     modelPos = (0, 0, -0.3)
     modelScale = 0.055
     DirectFrame.__init__(self, relief=None, state='normal', geom=model, geom_color=ToontownGlobals.GlobalDialogColor, geom_scale=modelScale, frameSize=(-1, 1, -1, 1), pos=modelPos, text=TTLocalizer.PetshopAdoptConfirm % (name, cost), text_wordwrap=12, text_scale=0.05, text_pos=(0, 0.55), text_fg=text0Color)
     self.initialiseoptions(PetshopGUI.AdoptPetDlg)
     self.petView = self.attachNewNode('petView')
     self.petView.setPos(-0.13, 0, 0.8)
     self.petModel = Pet.Pet(forGui=1)
     self.petModel.setDNA(dna)
     self.petModel.fitAndCenterHead(0.395, forGui=1)
     self.petModel.reparentTo(self.petView)
     self.petModel.setH(130)
     self.petModel.setScale(0.125)
     self.petModel.enterNeutralHappy()
     self.moneyDisplay = DirectLabel(parent=self, relief=None, text=str(base.localAvatar.getTotalMoney()), text_scale=0.075, text_fg=(0.95, 0.95, 0, 1), text_shadow=(0, 0, 0, 1), text_pos=(0.225, 0.33), text_font=ToontownGlobals.getSignFont())
     self.accept(localAvatar.uniqueName('moneyChange'), self.__moneyChange)
     self.accept(localAvatar.uniqueName('bankMoneyChange'), self.__moneyChange)
     okImageList = (model.find('**/CheckButtonUp'), model.find('**/CheckButtonDown'), model.find('**/CheckButtonRollover'))
     cancelImageList = (model.find('**/CancelButtonUp'), model.find('**/CancelButtonDown'), model.find('**/CancelRollover'))
     cancelIcon = model.find('**/CancelIcon')
     checkIcon = model.find('**/CheckIcon')
     self.cancelButton = DirectButton(parent=self, relief=None, image=cancelImageList, geom=cancelIcon, scale=modelScale, text=('', TTLocalizer.PetshopGoBack), text_pos=(-5.8, 4.4), text_scale=0.7, pressEffect=False, command=lambda : messenger.send(doneEvent, [0]))
     self.okButton = DirectButton(parent=self, relief=None, image=okImageList, geom=checkIcon, scale=modelScale, text=('', TTLocalizer.PetshopAdopt), text_pos=(5.8, 4.4), text_scale=0.7, pressEffect=False, command=lambda : messenger.send(doneEvent, [1]))
     model.removeNode()
     return
 def updateInvitation(self, hostsName, partyInfo):
     self.partyInfo = partyInfo
     hostsName = TTLocalizer.GetPossesive(hostsName)
     self.whosePartyLabel[
         'text'] = TTLocalizer.PartyPlannerInvitationWhoseSentence % hostsName
     if self.partyInfo.isPrivate:
         publicPrivateText = TTLocalizer.PartyPlannerPrivate.lower()
     else:
         publicPrivateText = TTLocalizer.PartyPlannerPublic.lower()
     activities = self.getActivitiesFormattedCorrectly()
     if self.noFriends:
         self.activityTextLabel[
             'text'] = TTLocalizer.PartyPlannerInvitationThemeWhatSentenceNoFriends % (
                 publicPrivateText, activities)
     else:
         self.activityTextLabel[
             'text'] = TTLocalizer.PartyPlannerInvitationThemeWhatSentence % (
                 publicPrivateText, activities)
     if self.noFriends:
         self.whenTextLabel[
             'text'] = TTLocalizer.PartyPlannerInvitationWhenSentenceNoFriends % (
                 PartyUtils.formatDate(self.partyInfo.startTime.year,
                                       self.partyInfo.startTime.month,
                                       self.partyInfo.startTime.day),
                 PartyUtils.formatTime(self.partyInfo.startTime.hour,
                                       self.partyInfo.startTime.minute))
     else:
         self.whenTextLabel[
             'text'] = TTLocalizer.PartyPlannerInvitationWhenSentence % (
                 PartyUtils.formatDate(self.partyInfo.startTime.year,
                                       self.partyInfo.startTime.month,
                                       self.partyInfo.startTime.day),
                 PartyUtils.formatTime(self.partyInfo.startTime.hour,
                                       self.partyInfo.startTime.minute))
     self.changeTheme(partyInfo.inviteTheme)
Example #3
0
 def doResultDialog(self):
     self.startInteraction()
     curTrack, curLevel = GardenGlobals.getTreeTrackAndLevel(self.typeIndex)
     species = GardenGlobals.getTreeTypeIndex(curTrack, curLevel)
     treeName = GardenGlobals.PlantAttributes[species]['name']
     stringToShow = TTLocalizer.getResultPlantedSomethingSentence(treeName)
     self.resultDialog = TTDialog.TTDialog(style=TTDialog.Acknowledge, text=stringToShow, command=self.resultsCallback)
 def __handleFlowerPlantingDone(self, willPlant = 0, recipeStr = '', special = -1):
     self.ignore(self.plantingGuiDoneEvent)
     self.ignore('stoppedAsleep')
     self.plantingGui.destroy()
     self.plantingGui = None
     base.localAvatar.showGardeningGui()
     base.localAvatar.removeShovelRelatedDoId(self.doId)
     successPlanting = False
     if willPlant:
         recipeKey = GardenGlobals.getRecipeKey(recipeStr, special)
         if recipeKey >= 0:
             species, variety = GardenGlobals.getSpeciesVarietyGivenRecipe(recipeKey)
             if species >= 0 and variety >= 0:
                 self.sendUpdate('plantFlower', [species, variety])
                 successPlanting = True
         else:
             self.notify.debug('%s %d is not a valid recipe' % (recipeStr, special))
             burntBeans = len(recipeStr)
             self.sendUpdate('plantNothing', [burntBeans])
     if successPlanting:
         flowerName = GardenGlobals.getFlowerVarietyName(species, variety)
         stringToShow = TTLocalizer.getResultPlantedSomethingSentence(flowerName)
     elif willPlant:
         self.resultDialog = TTDialog.TTDialog(style=TTDialog.Acknowledge, text=TTLocalizer.ResultPlantedNothing, command=self.popupFlowerPlantingGuiAgain)
     else:
         self.finishInteraction()
     return
Example #5
0
 def doResultDialog(self):
     self.startInteraction()
     itemName = GardenGlobals.PlantAttributes[self.typeIndex]['name']
     stringToShow = TTLocalizer.getResultPlantedSomethingSentence(itemName)
     self.resultDialog = TTDialog.TTDialog(style=TTDialog.Acknowledge,
                                           text=stringToShow,
                                           command=self.resultsCallback)
def getPetInfoFromSeed(seed, safezoneId):
    S = random.getstate()
    random.seed(seed)
    dnaArray = PetDNA.getRandomPetDNA(safezoneId)
    gender = PetDNA.getGender(dnaArray)
    nameString = TTLocalizer.getRandomPetName(gender=gender, seed=seed)
    traitSeed = PythonUtil.randUint31()
    random.setstate(S)
    return (nameString, dnaArray, traitSeed)
 def doResultDialog(self):
     self.startInteraction()
     flowerName = GardenGlobals.getFlowerVarietyName(
         self.species, self.variety)
     stringToShow = TTLocalizer.getResultPlantedSomethingSentence(
         flowerName)
     self.resultDialog = TTDialog.TTDialog(style=TTDialog.Acknowledge,
                                           text=stringToShow,
                                           command=self.resultsCallback)
Example #8
0
def getPetInfoFromSeed(seed, safezoneId):
    S = random.getstate()
    random.seed(seed)
    dnaArray = PetDNA.getRandomPetDNA(safezoneId)
    gender = PetDNA.getGender(dnaArray)
    nameString = TTLocalizer.getRandomPetName(gender=gender, seed=seed)
    traitSeed = PythonUtil.randUint31()
    random.setstate(S)
    return (nameString, dnaArray, traitSeed)
 def display(self, pTrackTitle = 'Track Title', pPeriodTitle = 'Period Title', pLeaderList = []):
     self.titleTextNode.setText(pPeriodTitle)
     self.trackNameNode.setText(pTrackTitle)
     self.updateCount += 1
     for i in xrange(10):
         if i >= len(pLeaderList):
             self.nameTextNodes[i].setText('-')
             self.timeTextNodes[i].setText('-')
         else:
             self.nameTextNodes[i].setText(pLeaderList[i][0][:22])
             self.timeTextNodes[i].setText(TTLocalizer.convertSecondsToDate(pLeaderList[i][1]))
def getPlantItWithString(special):
    retval = ''
    recipeKey = getRecipeKeyUsingSpecial(special)
    if not recipeKey == -1:
        beanTuple = []
        beanStr = Recipes[recipeKey]['beans']
        for letter in beanStr:
            index = BeanColorLetters.index(letter)
            beanTuple.append(index)

        beanText = TTLocalizer.getRecipeBeanText(beanTuple)
        retval += TTLocalizer.PlantItWith % beanText
    return retval
Example #11
0
def getPlantItWithString(special):
    retval = ''
    recipeKey = getRecipeKeyUsingSpecial(special)
    if not recipeKey == -1:
        beanTuple = []
        beanStr = Recipes[recipeKey]['beans']
        for letter in beanStr:
            index = BeanColorLetters.index(letter)
            beanTuple.append(index)

        beanText = TTLocalizer.getRecipeBeanText(beanTuple)
        retval += TTLocalizer.PlantItWith % beanText
    return retval
Example #12
0
 def display(self,
             pTrackTitle='Track Title',
             pPeriodTitle='Period Title',
             pLeaderList=[]):
     self.titleTextNode.setText(pPeriodTitle)
     self.trackNameNode.setText(pTrackTitle)
     self.updateCount += 1
     for i in xrange(10):
         if i >= len(pLeaderList):
             self.nameTextNodes[i].setText('-')
             self.timeTextNodes[i].setText('-')
         else:
             self.nameTextNodes[i].setText(pLeaderList[i][0][:22])
             self.timeTextNodes[i].setText(
                 TTLocalizer.convertSecondsToDate(pLeaderList[i][1]))
 def __handleItemPlantingDone(self,
                              willPlant=0,
                              recipeStr='',
                              selectedSpecial=-1):
     self.ignore(self.plantingGuiDoneEvent)
     self.ignore('stoppedAsleep')
     self.plantingGui.destroy()
     self.plantingGui = None
     base.localAvatar.showGardeningGui()
     base.localAvatar.removeShovelRelatedDoId(self.doId)
     gardenSpecials = base.localAvatar.getGardenSpecials()
     special = -1
     if selectedSpecial >= 0:
         special = gardenSpecials[selectedSpecial][0]
     successPlanting = False
     successToonStatue = False
     if willPlant:
         recipeKey = GardenGlobals.getRecipeKey(recipeStr, special)
         if recipeKey >= 0:
             species, variety = GardenGlobals.getSpeciesVarietyGivenRecipe(
                 recipeKey)
             if species >= 0 and variety >= 0:
                 if GardenGlobals.PlantAttributes[species][
                         'plantType'] == GardenGlobals.STATUARY_TYPE:
                     successPlanting = True
                     if species >= 205 and species <= 208:
                         successToonStatue = True
                     else:
                         self.sendUpdate('plantStatuary', [species])
         else:
             self.notify.debug('%s %d is not a valid recipe' %
                               (recipeStr, special))
             burntBeans = len(recipeStr)
             self.sendUpdate('plantNothing', [burntBeans])
     if successPlanting:
         itemName = GardenGlobals.PlantAttributes[species]['name']
         stringToShow = TTLocalizer.getResultPlantedSomethingSentence(
             itemName)
     elif willPlant:
         self.resultDialog = TTDialog.TTDialog(
             style=TTDialog.Acknowledge,
             text=TTLocalizer.ResultPlantedNothing,
             command=self.popupItemPlantingGuiAgain)
     else:
         self.finishInteraction()
     if successToonStatue:
         self.popupToonStatueSelectionGui(species)
     return
Example #14
0
 def __setupNamePlateCustom(self):
     self.notify.debug('__setupNamePlateCustom')
     if self.namePlate:
         self.namePlate.removeNode()
         del self.namePlate
         self.namePlate = None
     nameText = TextNode('nameText')
     nameText.setCardAsMargin(0.1, 0.1, 0.1, 0.1)
     nameText.setCardDecal(True)
     nameText.setCardColor(1.0, 1.0, 1.0, 0.0)
     r = self.randomGenerator.random()
     g = self.randomGenerator.random()
     b = self.randomGenerator.random()
     nameText.setTextColor(r, g, b, 1)
     nameText.setAlign(nameText.ACenter)
     nameText.setFont(ToontownGlobals.getBuildingNametagFont())
     nameText.setShadowColor(0, 0, 0, 1)
     nameText.setBin('fixed')
     if TTLocalizer.BuildingNametagShadow:
         nameText.setShadow(*TTLocalizer.BuildingNametagShadow)
     nameText.setWordwrap(16.0)
     xScale = 1.0
     numLines = 0
     if self.name == '':
         return
     else:
         houseName = TTLocalizer.AvatarsHouse % TTLocalizer.GetPossesive(
             self.name)
     nameText.setText(houseName)
     self.nameText = nameText
     textHeight = nameText.getHeight() - 2
     textWidth = nameText.getWidth()
     xScale = 1.0
     if textWidth > 16:
         xScale = 16.0 / textWidth
     sign_origin = self.house.find('**/sign_origin')
     pos = sign_origin.getPos()
     sign_origin.setPosHpr(pos[0], pos[1], pos[2] + 0.15 * textHeight, 90,
                           0, 0)
     self.namePlate = sign_origin.attachNewNode(self.nameText)
     self.namePlate.setDepthWrite(0)
     self.namePlate.setPos(0, -0.05, 0)
     self.namePlate.setScale(xScale)
     return nameText
Example #15
0
 def __setupNametag(self):
     if self.nametag:
         self.clearNametag()
     if self.name == '':
         houseName = ''
     else:
         houseName = TTLocalizer.AvatarsHouse % TTLocalizer.GetPossesive(
             self.name)
     self.nametag = NametagGroup()
     self.nametag.setFont(ToontownGlobals.getBuildingNametagFont())
     if TTLocalizer.BuildingNametagShadow:
         self.nametag.setShadow(*TTLocalizer.BuildingNametagShadow)
     self.nametag.setContents(Nametag.CName)
     self.nametag.setColorCode(NametagGroup.CCHouseBuilding)
     self.nametag.setActive(0)
     self.nametag.setAvatar(self.house)
     self.nametag.setObjectCode(self.doId)
     self.nametag.setName(houseName)
     self.nametag.manage(base.marginManager)
Example #16
0
 def __setupFloorMat(self, changeColor=True):
     if self.floorMat:
         self.floorMat.removeNode()
         del self.floorMat
         self.floorMat = None
     mat = self.house.find('**/mat')
     if changeColor:
         mat.setColor(0.4, 0.357, 0.259, 1.0)
     color = HouseGlobals.houseColors[self.housePosInd]
     matText = TextNode('matText')
     matText.setTextColor(color[0], color[1], color[2], 1)
     matText.setAlign(matText.ACenter)
     matText.setFont(ToontownGlobals.getBuildingNametagFont())
     matText.setShadowColor(0, 0, 0, 1)
     matText.setBin('fixed')
     if TTLocalizer.BuildingNametagShadow:
         matText.setShadow(*TTLocalizer.BuildingNametagShadow)
     matText.setWordwrap(10.0)
     xScale = 1.0
     numLines = 0
     if self.name == '':
         return
     else:
         houseName = TTLocalizer.AvatarsHouse % TTLocalizer.GetPossesive(
             self.name)
     matText.setText(houseName)
     self.matText = matText
     textHeight = matText.getHeight() - 2
     textWidth = matText.getWidth()
     xScale = 1.0
     if textWidth > 8:
         xScale = 8.0 / textWidth
     mat_origin = self.house.find('**/mat_origin')
     pos = mat_origin.getPos()
     mat_origin.setPosHpr(pos[0] - 0.15 * textHeight, pos[1], pos[2], 90,
                          -90, 0)
     self.floorMat = mat_origin.attachNewNode(self.matText)
     self.floorMat.setDepthWrite(0)
     self.floorMat.setPos(0, -.025, 0)
     self.floorMat.setScale(0.45 * xScale)
     return
 def __handleItemPlantingDone(self, willPlant = 0, recipeStr = '', selectedSpecial = -1):
     self.ignore(self.plantingGuiDoneEvent)
     self.ignore('stoppedAsleep')
     self.plantingGui.destroy()
     self.plantingGui = None
     base.localAvatar.showGardeningGui()
     base.localAvatar.removeShovelRelatedDoId(self.doId)
     gardenSpecials = base.localAvatar.getGardenSpecials()
     special = -1
     if selectedSpecial >= 0:
         special = gardenSpecials[selectedSpecial][0]
     successPlanting = False
     successToonStatue = False
     if willPlant:
         recipeKey = GardenGlobals.getRecipeKey(recipeStr, special)
         if recipeKey >= 0:
             species, variety = GardenGlobals.getSpeciesVarietyGivenRecipe(recipeKey)
             if species >= 0 and variety >= 0:
                 if GardenGlobals.PlantAttributes[species]['plantType'] == GardenGlobals.STATUARY_TYPE:
                     successPlanting = True
                     if species >= 205 and species <= 208:
                         successToonStatue = True
                     else:
                         self.sendUpdate('plantStatuary', [species])
         else:
             self.notify.debug('%s %d is not a valid recipe' % (recipeStr, special))
             burntBeans = len(recipeStr)
             self.sendUpdate('plantNothing', [burntBeans])
     if successPlanting:
         itemName = GardenGlobals.PlantAttributes[species]['name']
         stringToShow = TTLocalizer.getResultPlantedSomethingSentence(itemName)
     elif willPlant:
         self.resultDialog = TTDialog.TTDialog(style=TTDialog.Acknowledge, text=TTLocalizer.ResultPlantedNothing, command=self.popupItemPlantingGuiAgain)
     else:
         self.finishInteraction()
     if successToonStatue:
         self.popupToonStatueSelectionGui(species)
     return
 def createNewPetFromSeed(self, avId, seed, nameIndex, gender, safeZoneId):
     av = self.air.doId2do[avId]
     
     name = TTLocalizer.getPetName(nameIndex)
     _, dna, traitSeed = PetUtil.getPetInfoFromSeed(seed, safeZoneId)
     head, ears, nose, tail, body, color, cs, eye, _ = dna
     numGenders = len(PetDNA.PetGenders)
     gender %= numGenders
             
     fields = {'setOwnerId' : avId, 'setPetName' : name, 'setTraitSeed' : traitSeed, 'setSafeZone' : safeZoneId,
               'setHead' : head, 'setEars' : ears, 'setNose' : nose, 'setTail' : tail, 'setBodyTexture' : body,
               'setColor' : color, 'setColorScale' : cs, 'setEyeColor' : eye, 'setGender' : gender}
               
     def response(doId):
         if not doId:
             self.air.notify.warning("Cannot create pet for %s!" % avId)
             return
             
         self.air.writeServerEvent('bought-pet', avId, doId)
         av.b_setPetId(doId)
         
     self.air.dbInterface.createObject(self.air.dbId, self.air.dclassesByName['DistributedPetAI'],
                                       {k: (v,) for k,v in fields.items()}, response)
    def createNewPetFromSeed(self, avId, seed, nameIndex, gender, safeZoneId):
        av = self.air.doId2do[avId]

        name = TTLocalizer.getPetName(nameIndex)
        _, dna, traitSeed = PetUtil.getPetInfoFromSeed(seed, safeZoneId)
        head, ears, nose, tail, body, color, cs, eye, _ = dna
        numGenders = len(PetDNA.PetGenders)
        gender %= numGenders

        fields = {
            'setOwnerId': avId,
            'setPetName': name,
            'setTraitSeed': traitSeed,
            'setSafeZone': safeZoneId,
            'setHead': head,
            'setEars': ears,
            'setNose': nose,
            'setTail': tail,
            'setBodyTexture': body,
            'setColor': color,
            'setColorScale': cs,
            'setEyeColor': eye,
            'setGender': gender
        }

        def response(doId):
            if not doId:
                self.air.notify.warning("Cannot create pet for %s!" % avId)
                return

            self.air.writeServerEvent('bought-pet', avId, doId)
            av.b_setPetId(doId)

        self.air.dbInterface.createObject(
            self.air.dbId, self.air.dclassesByName['DistributedPetAI'],
            {k: (v, )
             for k, v in fields.items()}, response)
 def __handleFlowerPlantingDone(self,
                                willPlant=0,
                                recipeStr='',
                                special=-1):
     self.ignore(self.plantingGuiDoneEvent)
     self.ignore('stoppedAsleep')
     self.plantingGui.destroy()
     self.plantingGui = None
     base.localAvatar.showGardeningGui()
     base.localAvatar.removeShovelRelatedDoId(self.doId)
     successPlanting = False
     if willPlant:
         recipeKey = GardenGlobals.getRecipeKey(recipeStr, special)
         if recipeKey >= 0:
             species, variety = GardenGlobals.getSpeciesVarietyGivenRecipe(
                 recipeKey)
             if species >= 0 and variety >= 0:
                 self.sendUpdate('plantFlower', [species, variety])
                 successPlanting = True
         else:
             self.notify.debug('%s %d is not a valid recipe' %
                               (recipeStr, special))
             burntBeans = len(recipeStr)
             self.sendUpdate('plantNothing', [burntBeans])
     if successPlanting:
         flowerName = GardenGlobals.getFlowerVarietyName(species, variety)
         stringToShow = TTLocalizer.getResultPlantedSomethingSentence(
             flowerName)
     elif willPlant:
         self.resultDialog = TTDialog.TTDialog(
             style=TTDialog.Acknowledge,
             text=TTLocalizer.ResultPlantedNothing,
             command=self.popupFlowerPlantingGuiAgain)
     else:
         self.finishInteraction()
     return
 def doResultDialog(self):
     self.startInteraction()
     itemName = GardenGlobals.PlantAttributes[self.typeIndex]['name']
     stringToShow = TTLocalizer.getResultPlantedSomethingSentence(itemName)
     self.resultDialog = TTDialog.TTDialog(style=TTDialog.Acknowledge, text=stringToShow, command=self.resultsCallback)
 def doResultDialog(self):
     self.startInteraction()
     flowerName = GardenGlobals.getFlowerVarietyName(self.species, self.variety)
     stringToShow = TTLocalizer.getResultPlantedSomethingSentence(flowerName)
     self.resultDialog = TTDialog.TTDialog(style=TTDialog.Acknowledge, text=stringToShow, command=self.resultsCallback)
Example #23
0
    def enter(self):
        ShtikerPage.ShtikerPage.enter(self)
        try:
            zone = base.cr.playGame.getPlace().getZoneId()
        except:
            zone = 0

        if base.localAvatar.lastHood >= ToontownGlobals.BossbotHQ:
            self.safeZoneButton['text'] = TTLocalizer.MapPageBackToCogHQ
        else:
            self.safeZoneButton['text'] = TTLocalizer.MapPageBackToPlayground
        if zone and ZoneUtil.isPlayground(zone) or self.book.safeMode:
            self.safeZoneButton.hide()
        else:
            self.safeZoneButton.show()
        if base.cr.playGame.getPlaceId() == ToontownGlobals.MyEstate and base.cr.playGame.hood.loader.atMyEstate() or self.book.safeMode:
            self.goHomeButton.hide()
        elif base.housingEnabled:
            self.goHomeButton.show()
        if base.cr.playGame.getPlaceId() == ToontownGlobals.MyEstate:
            if base.cr.playGame.hood.loader.atMyEstate():
                self.hoodLabel['text'] = TTLocalizer.MapPageYouAreAtHome
                self.hoodLabel.show()
            else:
                avatar = base.cr.identifyAvatar(base.cr.playGame.hood.loader.estateOwnerId)
                if avatar:
                    avName = avatar.getName()
                    self.hoodLabel['text'] = TTLocalizer.MapPageYouAreAtSomeonesHome % TTLocalizer.GetPossesive(avName)
                    self.hoodLabel.show()
        elif zone:
            hoodName = ToontownGlobals.hoodNameMap.get(ZoneUtil.getCanonicalHoodId(zone), ('',))[-1]
            streetName = ToontownGlobals.StreetNames.get(ZoneUtil.getCanonicalBranchZone(zone), ('',))[-1]
            if hoodName:
                self.hoodLabel['text'] = TTLocalizer.MapPageYouAreHere % (hoodName, streetName)
                self.hoodLabel.show()
            else:
                self.hoodLabel.hide()
        else:
            self.hoodLabel.hide()
        hoodsVisited = base.localAvatar.hoodsVisited
        hoodTeleportList = base.localAvatar.getTeleportAccess()
        for hood in self.allZones:
            label = self.labels[self.allZones.index(hood)]
            clouds = self.clouds[self.allZones.index(hood)]
            if not self.book.safeMode and hood in hoodsVisited:
                label['text_fg'] = (0, 0, 0, 1)
                label.show()
                for cloud in clouds:
                    cloud.hide()

                fullname = base.cr.hoodMgr.getFullnameFromId(hood)
                if hood in hoodTeleportList:
                    text = TTLocalizer.MapPageGoTo % fullname
                    label['text'] = ('', text, text)
                else:
                    label['text'] = ('', fullname, fullname)
            else:
                label.hide()
                for cloud in clouds:
                    cloud.show()
 def spawnTitleText(self):
     if not self.hostName:
         return
     partyText = TTLocalizer.PartyTitleText % TTLocalizer.GetPossesive(self.hostName)
     self.doSpawnTitleText(partyText)
        def __init__(self, doneEvent, petSeed, gender):
            zoneId = ZoneUtil.getCanonicalSafeZoneId(base.localAvatar.getZoneId())
            name, dna, traitSeed = PetUtil.getPetInfoFromSeed(petSeed, zoneId)
            self.gui = loader.loadModel('phase_4/models/gui/PetNamePanel')
            self.guiScale = 0.09
            DirectFrame.__init__(self, relief=None, geom=self.gui, geom_scale=self.guiScale, state='normal', frameSize=(-1, 1, -1, 1))
            self.initialiseoptions(PetshopGUI.NamePicker)
            self.petView = self.attachNewNode('petView')
            self.petView.setPos(-0.21, 0, -0.04)
            self.petModel = Pet.Pet(forGui=1)
            self.petModel.setDNA(dna)
            self.petModel.fitAndCenterHead(0.435, forGui=1)
            self.petModel.reparentTo(self.petView)
            self.petModel.setH(225)
            self.petModel.setScale(0.125)
            self.petModel.enterNeutralHappy()
            self.allNames = TTLocalizer.NeutralPetNames
            if gender == 0:
                self.allNames += TTLocalizer.BoyPetNames
            else:
                self.allNames += TTLocalizer.GirlPetNames
            self.allNames.sort()
            self.letters = []
            for name in self.allNames:
                if name[0:TTLocalizer.PGUIcharLength] not in self.letters:
                    self.letters.append(name[0:TTLocalizer.PGUIcharLength])

            self.curLetter = self.letters[0]
            self.curNames = []
            self.curName = ''
            self.alphabetList = self.makeScrollList(self.gui, (-0.012, 0, -0.075), (1, 0.8, 0.8, 1), self.letters, self.makeLabel, [TextNode.ACenter, 'alphabet'], 6)
            self.nameList = None
            self.rebuildNameList()
            self.randomButton = DirectButton(parent=self, relief=None, image=(self.gui.find('**/RandomUpButton'), self.gui.find('**/RandomDownButton'), self.gui.find('**/RandomRolloverButton')), scale=self.guiScale, text=TTLocalizer.RandomButton, text_pos=(-0.8, -5.7), text_scale=0.8, text_fg=text2Color, pressEffect=False, command=self.randomName)
            self.nameResult = DirectLabel(parent=self, relief=None, scale=self.guiScale, text='', text_align=TextNode.ACenter, text_pos=(-1.85, 2.6), text_fg=text0Color, text_scale=0.6, text_wordwrap=8)
            self.submitButton = DirectButton(parent=self, relief=None, image=(self.gui.find('**/SubmitUpButton'), self.gui.find('**/SubmitDownButton'), self.gui.find('**/SubmitRolloverButton')), scale=self.guiScale, text=TTLocalizer.PetshopAdopt, text_pos=(3.3, -5.7), text_scale=TTLocalizer.PGUIsubmitButton, text_fg=text0Color, pressEffect=False, command=lambda : messenger.send(doneEvent, [TTLocalizer.getPetNameId(self.curName)]))
            model = loader.loadModel('phase_4/models/gui/PetShopInterface')
            modelScale = 0.1
            cancelImageList = (model.find('**/CancelButtonUp'), model.find('**/CancelButtonDown'), model.find('**/CancelButtonRollover'))
            cancelIcon = model.find('**/CancelIcon')
            self.cancelButton = DirectButton(parent=self, relief=None, pos=(-0.04, 0, -0.47), image=cancelImageList, geom=cancelIcon, scale=modelScale, pressEffect=False, command=lambda : messenger.send(doneEvent, [-1]))
            self.randomName()
            return