Ejemplo n.º 1
0
 def setupNameTag(self, tempName = None):
     if not self.name and not tempName:
         return
     offset = 0.0
     if self.avatarType:
         if self.avatarType == CIGlobals.Suit:
             if self.charName:
                 offset = 0.5
                 z = SuitBank.getSuitByName(self.charName).getNametagZ()
         elif self.avatarType == CIGlobals.CChar:
             z = 5
         elif self.avatarType == CIGlobals.Toon:
             offset = 0.5
         else:
             z = 0
     self.deleteNameTag()
     if tempName:
         name = tempName
     else:
         name = self.name
     tag = NameTag(name, self.avatarType)
     tag.setTextColor(tag.NameTagColors[self.avatarType]['fg'])
     tag.setCardColor(tag.NameTagBackgrounds['up'])
     self.nameTag = tag
     np = tag.getNodePath()
     np.setEffect(BillboardEffect.make(Vec3(0, 0, 1), True, False, 3.0, camera, Point3(0, 0, 0)))
     ToonTalker.ToonTalker.setAvatar(self, self, np)
     np.reparentTo(self)
     if self.avatarType == CIGlobals.Toon:
         np.setZ(self.getHeight() + offset)
         self.nameTag.setClickable(1)
     elif self.avatarType == CIGlobals.Suit or self.avatarType == CIGlobals.CChar:
         np.setZ(z + offset)
     if self.avatarType == CIGlobals.Suit:
         self.nameTag.setFont(CIGlobals.getSuitFont())
     else:
         self.nameTag.setFont(CIGlobals.getToonFont())
     ls = LabelScaler()
     ls.resize(np)