def __init__(self, shipInfo, *args, **kwargs): name = shipInfo[1] Item.__init__(self, name, *args, **kwargs) self.setTag('shipName', name) self.shipModel = ShipMeter(shipInfo[0], shipInfo[2], shipInfo[3]) self.shipModel.reparentTo(self) self.shipModel.setScale(0.13) self.shipModel.setTwoSided(1) formattedName = 'smallCapsslant' + name.replace(' ', '\n') + '' self.text = Text(name + '-text', NodePath(), 0.0, formattedName, 0, scale=0.017000000000000001) self.text.reparentTo(self) if self.shipModel.getBounds().isEmpty(): r = 10 else: r = self.shipModel.getBounds().getRadius() self.text.setPos(0, -r * 0.75, 0.001) self.setBin('fixed', 300) self.text.setBin('fixed', 301) self.shipNode = NodePath('Ship') self.shipNode.reparentTo(self) self.shipNode.setBillboardPointEye() self.shipNode.setPos(0, -0.0050000000000000001, 0) self.shipNode.setHpr(0, 30, 0) self.shipModel.reparentTo(self.shipNode)
def createGui(self): self.shipDisplay = self.attachNewNode('shipDisplay') self.shipDisplay.setPos(self['shipPos']) self.shipDisplay.setHpr(self['shipHpr']) self.shipDisplay.setScale(self['shipScale']) self.shipDisplay.setColorScale(self['shipColorScale']) self.shipMeter = ShipMeter(self['shipId'], self['shipClass'], self['mastInfo'], siegeTeam=self['siegeTeam']) if not ShipFrame.logos: ShipFrame.logos = loader.loadModel('models/textureCards/sailLogo') if ShipFrame.logos: image = None if self['siegeTeam'] == PVPGlobals.FrenchTeam: image = ShipFrame.logos.find('**/logo_french_flag') elif self['siegeTeam'] == PVPGlobals.SpanishTeam: image = ShipFrame.logos.find('**/logo_spanish_flag') if image: self.flag = DirectLabel(parent=self, image=image, image_scale=0.080000000000000002, image_pos=(0.089999999999999997, 0, 0.089999999999999997)) self.shipMeter.reparentTo(self.shipDisplay) self.shipMeter.setDepthTest(1) self.shipMeter.setDepthWrite(1)