def _loadAssets(self): timer = None try: timer = loader.loadModel('models/gui/pir_m_gui_can_timer') self.timeRemaining = base.a2dTopRight.attachNewNode( 'CannonDefenseTimeRemaining') self.timeRemaining.setDepthTest(True) self.timeRemaining.setDepthWrite(True) self.timeRemaining.setScale(0.75) model = self.timeRemaining.attachNewNode('model') foreGround = timer.find('**/timer') self.skillRing = DialMeter(model, wantCover=False, dangerRatio=0.0, meterColor=Vec4(0.11328125, 0.09375, 0.05078125, 1.0), baseColor=Vec4(1.0, 0.0, 0.0, 1.0)) self.skillRing.setScale(0.5) self.skillRing.setR(180) self.skillRing.update(0.0, 1.0) foreGround.reparentTo(model) foreGround.setY(-0.1) self.__createWaveText(model) self.__createWaveLabel(model) min = Point3() max = Point3() model.calcTightBounds(min, max) size = max - min model.setPos(-size[0] / 2.0, 0, -size[2] / 2.0) finally: if timer: timer.removeNode() return
def __init__(self, category, width = 0.40000000000000002): DirectFrame.__init__(self, state = DGG.DISABLED, relief = None) self.initialiseoptions(ReputationMeterDial) self.category = category self.level = 0 self.value = 0 self.max = 0 self.masteredIval = None name = self.getCategoryName() self.changeMeter = ChangeDialMeter(parent = self, meterColor = VBase4(0.69999999999999996, 0.0, 0.0, 1), meterColor2 = VBase4(0.69999999999999996, 0.69999999999999996, 0.0, 1), baseColor = VBase4(0.10000000000000001, 0.10000000000000001, 0.10000000000000001, 1), wantCover = 0, scale = 0.45000000000000001) self.changeMeter.hide() self.meter = DialMeter(parent = self, meterColor = VBase4(0.69999999999999996, 0.0, 0.0, 1), baseColor = VBase4(0.10000000000000001, 0.10000000000000001, 0.10000000000000001, 1), wantCover = 0, scale = 0.45000000000000001) self.meter.setBackwards() self.lastLevel = None self.lastExp = None self.mastered = False self.categoryLabel = DirectLabel(parent = self, state = DGG.DISABLED, relief = None, text = name, text_scale = PiratesGuiGlobals.TextScaleLarge, text_align = TextNode.ACenter, text_fg = PiratesGuiGlobals.TextFG2, text_shadow = PiratesGuiGlobals.TextShadow, text_font = PiratesGlobals.getInterfaceFont(), pos = (0, 0, 0), textMayChange = 1) self.levelLabel = DirectLabel(parent = self, state = DGG.DISABLED, relief = None, text = '', text_scale = 0.080000000000000002, text_align = TextNode.ACenter, text_fg = PiratesGuiGlobals.TextFG2, text_font = PiratesGlobals.getPirateFont(), pos = (-0.014999999999999999, 0, -0.080000000000000002), textMayChange = 1) logoModel = loader.loadModel('models/gui/potcLogo') guiModel = loader.loadModel('models/gui/toplevel_gui') self.valueLabel = DirectLabel(parent = self, state = DGG.DISABLED, relief = None, text = '', text_scale = PiratesGuiGlobals.TextScaleLarge, text_align = TextNode.ACenter, text_fg = PiratesGuiGlobals.TextFG2, text_shadow = PiratesGuiGlobals.TextShadow, text_font = PiratesGlobals.getInterfaceFont(), pos = (0.0, 0, -0.20000000000000001), textMayChange = 1) self.levelCapScroll = DirectFrame(parent = self, relief = None, image = guiModel.find('**/main_gui_quest_scroll'), image_scale = (0.13, 1.0, 0.089999999999999997), pos = (0.0, 0.0, -0.16250000000000001)) self.levelCapScroll.hide() self.levelCapIcon = DirectFrame(parent = self, relief = None, image = logoModel.find('**/skull'), image_pos = (0.0, 0.0, 0.0), image_scale = 0.90000000000000002, pos = (-0.0275, 0.0, -0.105)) self.levelCapIcon.hide() self.levelCapScroll.setTransparency(1) self.levelCapIcon.setTransparency(1) self.valueLabel.setTransparency(1)
def _initGUI(self): self.setBin('fixed', 33) mainGui = loader.loadModel('models/gui/gui_main') gui = loader.loadModel('models/gui/toplevel_gui') self.checkMark = gui.find('**/generic_check') self.checkMark.reparentTo(self) self.checkMark.stash() self.checkMark.setScale(1.0) self.checkMark.setColorScale(0.0, 1.0, 0.0, 1.0) self.checkMark.setPos(0.02, 0.0, 0.02) self.checkMark.setBin('fixed', 34) self.skillRing = DialMeter(self, wantCover=False, dangerRatio=0.0, meterColor=Vec4(0.9, 0.9, 0.1, 1.0), baseColor=Vec4(0.15, 0.07, 0.03, 1.0), completeColor=Vec4(0.1, 0.9, 0.1, 1.0)) self.skillRing.reparentTo(self) self.skillRing.setScale(0.285, 0.3, 0.265) self.skillRing.setBin('fixed', 32) self.skillGlow = self.glow = OnscreenImage( parent=self, image=mainGui.find('**/icon_glow'), scale=(1.0, 1.0, 1.0), color=(1.0, 1.0, 0.6, 1.0)) self.skillGlow.reparentTo(self) self.skillGlow.setBin('fixed', 31) self.skillGlow.stash() self.pirateNameBox = None self.pirateNameLabel = None return
def __init__(self, parent, **kw): DirectFrame.__init__(self, parent, **None) self.initialiseoptions(VitaeMeter) toplevel_gui = loader.loadModel('models/gui/toplevel_gui') self.vitaeDial = DialMeter(parent=self, meterColor=Vec4(0.80000000000000004, 0.20000000000000001, 0.20000000000000001, 1), baseColor=Vec4(0, 0, 0, 1), scale=0.28000000000000003) icon = toplevel_gui.find('**/morale_skull*') self.vitaeIcon = DirectFrame(parent=self, state=DGG.NORMAL, relief=None, image=icon, image_scale=0.625) detailLabel = DirectLabel( relief=None, state=DGG.DISABLED, text=PLocalizer.VitaeDesc, text_align=TextNode.ALeft, text_scale=PiratesGuiGlobals.TextScaleExtraLarge, text_fg=PiratesGuiGlobals.TextFG1, text_wordwrap=15, text_shadow=(0, 0, 0, 1), pos=(0.0, 0, -0.025000000000000001), textMayChange=0, sortOrder=91) height = -(detailLabel.getHeight() + 0.01) width = max(0.25, detailLabel.getWidth() + 0.040000000000000001) self.helpBox = BorderFrame(parent=self, state=DGG.DISABLED, modelName='general_frame_f', frameSize=(-0.040000000000000001, width, height, 0.050000000000000003), pos=(0.050000000000000003, 0, -0.050000000000000003), sortOrder=90) detailLabel.reparentTo(self.helpBox) self.helpBox.hide() self.helpBox.setClipPlaneOff() self.meterLabel = DirectLabel( parent=self.vitaeDial, relief=None, pos=(0, 0, -0.45000000000000001), text=PLocalizer.Vitae, text_scale=0.20000000000000001, text_align=TextNode.ACenter, text_fg=PiratesGuiGlobals.TextFG1, text_shadow=PiratesGuiGlobals.TextShadow, text_font=PiratesGlobals.getPirateOutlineFont(), textMayChange=1) self.vitaeIcon.bind(DGG.WITHIN, self.showDetails) self.vitaeIcon.bind(DGG.WITHOUT, self.hideDetails)
def makeIcons(self): self.Background.copyTo(self) self.dial = DialMeter(parent=self, meterColor=Vec4(0.29999999999999999, 0.0, 0.80000000000000004, 1), baseColor=Vec4(0, 0, 0, 1), scale=0.17000000000000001, sortOrder=0) if self.effectId in buffTable: info = buffTable.get(self.effectId) else: info = buffTable.get(WeaponGlobals.C_UNKNOWN_EFFECT) self.myIcon = DirectButton(parent=self, relief=None, geom=self.Card.find('**/' + info[0]), geom_scale=self.iconScale, sortOrder=1) self.myIcon.bind(DGG.ENTER, self.showDetails) self.myIcon.bind(DGG.EXIT, self.hideDetails) self.updateIconInfo()