def _addedToMap(self, map): self.mapGeom.setScale(aspect2d, 0.3) overlayNode = map.getOverlayNode() worldNode = map.getWorldNode() transform = self.mapGeom.getTransform(overlayNode) self.hpMeter = HpMeter(width=0.4, parent=overlayNode) self.hpMeter.setP(-90) if self.zone != InvasionGlobals.getTotalCapturePoints(self.holidayId): self.hpMeter.setPos(transform.getPos() + (50, 0, 0)) else: self.hpMeter.setPos(InvasionGlobals.getMainCapturePointHpPos(self.holidayId)) self.hpMeter.setScale(transform.getScale()) self.hpMeter['sortOrder'] = MinimapCapturePoint.SORT self.hpMeter.setAlphaScale(1, 1) self.hpMeter.categoryLabel['text_scale'] = 0.1 self.hpMeter.update(1, 1) topGui = loader.loadModel('models/gui/toplevel_gui') if self.zone != InvasionGlobals.getTotalCapturePoints(self.holidayId): self.barricadeIcon = OnscreenImage(parent=self.mapGeom, image=topGui.find('**/pir_t_gui_gen_barricade'), scale=1.5, hpr=(0, 90, 0), color=(1.0, 0.5, 0.0, 1)) self.barricadeDestroyed = OnscreenImage(parent=overlayNode, image=topGui.find('**/pir_t_gui_gen_Xred'), scale=transform.getScale() * 4.0, pos=transform.getPos(), hpr=(0, -90, 0)) self.barricadeDestroyed.hide() topGui.removeNode() self.mouseOver = GuiButton(parent=self.hpMeter, relief=None, state=DGG.NORMAL, scale=3.0, image=None, frameSize=(-0.1, 0.15, -0.03, 0.03), helpText=PLocalizer.CapturePointNames[self.holidayId][self.zone], helpPos=(0.1, 0, -0.08), helpDelay=0, helpOpaque=True, sortOrder=MinimapShop.SORT) return
def destroy(self): if self.onIsland and localAvatar.getParentObj( ) and localAvatar.getParentObj().getUniqueId( ) == InvasionGlobals.getIslandId( self.holidayId) and localAvatar.getParentObj().minimap: localAvatar.getParentObj().minimap.handleHolidayEnded( localAvatar.getParentObj(), HolidayGlobals.getHolidayName(self.holidayId), True) if self.screenNode: self.screenNode.reparentTo(localAvatar.guiMgr.minimapRoot) self.screenNode.setPos(0, 0, 0) self.screenNode.setScale(self.screenNodeScale) self.screenNode.hide() if self.panel: self.panel.destroy() self.panel = None for firePath in self.firePaths: firePath.removeNode() del firePath self.firePaths = [] DirectFrame.destroy(self)
def setHp(self, hp, maxHp): if self.hpMeter: if hp != self.hpMeter.meter['value']: pass hpMismatch = hp != maxHp self.hp = hp self.maxHp = hp self.hpMeter.update(hp, maxHp) if hpMismatch: if self.blinker: self.blinker.finish() self.blinker.start() if hp <= 0 and maxHp >= 0 and not (self.sentRemove): self.sentRemove = True if self.hpMeter: self.hpMeter.destroy() self.hpMeter = None if self.blinker: self.blinker.pause() self.blinker = None if self.barricadeIcon: self.barricadeIcon.destroy() self.barricadeIcon = None if self.barricadeDestroyed and self.zone != InvasionGlobals.getTotalCapturePoints(self.holidayId): self.barricadeDestroyed.show() return True else: return False
def startMainFog(self, lerp=True): self.fogStarted = True fogColor = InvasionGlobals.getFogColor(self.holidayId) render.clearFog() render.setFog(self.linearFog) self.linearFog.setColor(fogColor) fogRanges = InvasionGlobals.getFogRange(self.holidayId) if lerp: fogOnset = fogRanges[0] fogPeak = fogRanges[1] farFogRanges = InvasionGlobals.getFarFogRange(self.holidayId) self.currFogOnset = farFogRanges[0] self.currFogPeak = farFogRanges[1] self.linearFog.setLinearRange(self.currFogOnset, self.currFogPeak) self.lerpLinearFog(fogOnset, fogPeak, 10.0) else: self.currFogOnset = fogRanges[0] self.currFogPeak = fogRanges[1] self.linearFog.setLinearRange(self.currFogOnset, self.currFogPeak) base.farCull.setPos(0, self.currFogPeak + 10, 0) base.backgroundDrawable.setClearColor(fogColor)
def startMainFog(self, lerp = True): self.fogStarted = True fogColor = InvasionGlobals.getFogColor(self.holidayId) render.clearFog() render.setFog(self.linearFog) self.linearFog.setColor(fogColor) fogRanges = InvasionGlobals.getFogRange(self.holidayId) if lerp: fogOnset = fogRanges[0] fogPeak = fogRanges[1] farFogRanges = InvasionGlobals.getFarFogRange(self.holidayId) self.currFogOnset = farFogRanges[0] self.currFogPeak = farFogRanges[1] self.linearFog.setLinearRange(self.currFogOnset, self.currFogPeak) self.lerpLinearFog(fogOnset, fogPeak, 10.0) else: self.currFogOnset = fogRanges[0] self.currFogPeak = fogRanges[1] self.linearFog.setLinearRange(self.currFogOnset, self.currFogPeak) base.farCull.setPos(0, self.currFogPeak + 10, 0) base.backgroundDrawable.setClearColor(fogColor)
def createCollisions(self): self.cTrav = base.localAvatar.cTrav if self.cHp == None: self.cHp = CollisionSphere(0, 0, 0, InvasionGlobals.getCapturePointHpSphereSize(self.holidayId)) self.cHp.setTangible(0) self.cHpNode = CollisionNode(self.uniqueName('HpSphere')) self.cHpNode.setFromCollideMask(BitMask32.allOff()) self.cHpNode.setIntoCollideMask(PiratesGlobals.WallBitmask) self.cHpNode.addSolid(self.cHp) self.cHpNodePath = self.attachNewNode(self.cHpNode) enterCollEvent = self.uniqueName('enter' + 'HpSphere') exitCollEvent = self.uniqueName('exit' + 'HpSphere') self.accept(enterCollEvent, self._handleEnterHpSphere) self.accept(exitCollEvent, self._handleExitHpSphere)
def createCollisions(self): self.cTrav = base.localAvatar.cTrav if self.cHp == None: self.cHp = CollisionSphere(0, 0, 0, InvasionGlobals.getCapturePointHpSphereSize(self.holidayId)) self.cHp.setTangible(0) self.cHpNode = CollisionNode(self.uniqueName('HpSphere')) self.cHpNode.setFromCollideMask(BitMask32.allOff()) self.cHpNode.setIntoCollideMask(PiratesGlobals.WallBitmask) self.cHpNode.addSolid(self.cHp) self.cHpNodePath = self.attachNewNode(self.cHpNode) enterCollEvent = self.uniqueName('enter' + 'HpSphere') exitCollEvent = self.uniqueName('exit' + 'HpSphere') self.accept(enterCollEvent, self._handleEnterHpSphere) self.accept(exitCollEvent, self._handleExitHpSphere) return
def _addedToMap(self, map): self.mapGeom.setScale(aspect2d, 0.29999999999999999) overlayNode = map.getOverlayNode() worldNode = map.getWorldNode() transform = self.mapGeom.getTransform(overlayNode) self.hpMeter = HpMeter(width = 0.40000000000000002, parent = overlayNode) self.hpMeter.setP(-90) if self.zone != InvasionGlobals.getTotalCapturePoints(self.holidayId): self.hpMeter.setPos(transform.getPos() + (50, 0, 0)) else: self.hpMeter.setPos(InvasionGlobals.getMainCapturePointHpPos(self.holidayId)) self.hpMeter.setScale(transform.getScale()) self.hpMeter['sortOrder'] = MinimapCapturePoint.SORT self.hpMeter.setAlphaScale(1, 1) self.hpMeter.categoryLabel['text_scale'] = 0.10000000000000001 self.hpMeter.update(1, 1) topGui = loader.loadModel('models/gui/toplevel_gui') if self.zone != InvasionGlobals.getTotalCapturePoints(self.holidayId): self.barricadeIcon = OnscreenImage(parent = self.mapGeom, image = topGui.find('**/pir_t_gui_gen_barricade'), scale = 1.5, hpr = (0, 90, 0), color = (1.0, 0.5, 0.0, 1)) self.barricadeDestroyed = OnscreenImage(parent = overlayNode, image = topGui.find('**/pir_t_gui_gen_Xred'), scale = transform.getScale() * 4.0, pos = transform.getPos(), hpr = (0, -90, 0)) self.barricadeDestroyed.hide() topGui.removeNode() self.mouseOver = GuiButton(parent = self.hpMeter, relief = None, state = DGG.NORMAL, scale = 3.0, image = None, frameSize = (-0.10000000000000001, 0.14999999999999999, -0.029999999999999999, 0.029999999999999999), helpText = PLocalizer.CapturePointNames[self.holidayId][self.zone], helpPos = (0.10000000000000001, 0, -0.080000000000000002), helpDelay = 0, helpOpaque = True, sortOrder = MinimapShop.SORT)
def announceGenerate(self): DistributedObject.DistributedObject.announceGenerate(self) self.parentObj = self.getParentObj() self.linearFog = Fog('LinearInvasionFog') localAvatar.b_setInInvasion(True) base.options.setInvasion(True) PooledEffect.setGlobalLimit(20) messenger.send('grid-detail-changed', [Options.option_low]) base.options.setRuntimeSpecialEffects() base.setNoticeSystem(0) islandMusic = SoundGlobals.getMainMusic(self.parentObj.uniqueId) if islandMusic: base.musicMgr.requestFadeOut(islandMusic) base.musicMgr.request(SoundGlobals.MUSIC_TORMENTA, looping=True) numCapturePoints = InvasionGlobals.getTotalCapturePoints( self.holidayId) if base.launcher.getPhaseComplete(5): self.canPlaySfx = True else: self.canPlaySfx = False self.cleanedUp = False
def announceGenerate(self): DistributedObject.DistributedObject.announceGenerate(self) self.parentObj = self.getParentObj() self.linearFog = Fog('LinearInvasionFog') localAvatar.b_setInInvasion(True) base.options.setInvasion(True) PooledEffect.setGlobalLimit(20) messenger.send('grid-detail-changed', [ Options.option_low]) base.options.setRuntimeSpecialEffects() base.setNoticeSystem(0) islandMusic = SoundGlobals.getMainMusic(self.parentObj.uniqueId) if islandMusic: base.musicMgr.requestFadeOut(islandMusic) base.musicMgr.request(SoundGlobals.MUSIC_TORMENTA, looping = True) numCapturePoints = InvasionGlobals.getTotalCapturePoints(self.holidayId) if base.launcher.getPhaseComplete(5): self.canPlaySfx = True else: self.canPlaySfx = False self.cleanedUp = False
def stopMainFog(self): if self.fogStarted: fogRanges = InvasionGlobals.getFarFogRange(self.holidayId) fogOnset = fogRanges[0] fogPeak = fogRanges[1] self.lerpLinearFog(fogOnset, fogPeak, 10.0)
def setHolidayId(self, holidayId): self.holidayId = HolidayGlobals.getHolidayClass(holidayId) self.holidayName = HolidayGlobals.getHolidayName(self.holidayId) self.totalPhases = InvasionGlobals.getTotalPhases(self.holidayId) self.mainZone = InvasionGlobals.getTotalCapturePoints(self.holidayId)
def __init__(self, holidayId, wonInvasion, reputationEarned, enemiesKilled, barricadesSaved, wavesCleared): DirectFrame.__init__(self, relief=None, parent=base.aspect2d, image=None, pos=(0.0, 0.0, 0.5)) self.holidayId = holidayId self.wonInvasion = wonInvasion self.reputationEarned = reputationEarned self.enemiesKilled = enemiesKilled self.barricadesSaved = barricadesSaved self.wavesCleared = wavesCleared self.panel = None self.onIsland = False if localAvatar.getParentObj(): if localAvatar.getParentObj().getUniqueId( ) == InvasionGlobals.getIslandId(self.holidayId): if localAvatar.getParentObj().minimap: self.onIsland = True self.firePaths = [] top_gui = loader.loadModel('models/gui/toplevel_gui') general_frame_gui = loader.loadModel( 'models/gui/general_frame') main_gui = loader.loadModel('models/gui/gui_main') background = general_frame_gui.find('**/middle') side_bar = main_gui.find('**/boarder_side') top_left = general_frame_gui.find('**/topLeft') top_right = general_frame_gui.find('**/topRight') bottom_left = general_frame_gui.find('**/bottomLeft') bottom_right = general_frame_gui.find('**/bottomRight') generic_x = main_gui.find('**/x2') generic_box = main_gui.find('**/exit_button') generic_box_over = main_gui.find('**/exit_button_over') parchment = top_gui.find('**/pir_t_gui_gen_parchment') wax_seal = top_gui.find('**/pir_t_gui_gen_waxSeal') fires = [ top_gui.find('**/pir_t_gui_gen_fire0'), top_gui.find('**/pir_t_gui_gen_fire1'), top_gui.find('**/pir_t_gui_gen_fire2') ] top_gui.removeNode() general_frame_gui.removeNode() main_gui.removeNode() if self.onIsland: topLeftBackground = OnscreenImage(parent=self, image=background, scale=0.75, pos=(0.75, 0.0, 0.0), color=(0.3, 0.3, 0.3, 1.0)) topRightBackground = OnscreenImage(parent=self, image=background, scale=0.75, pos=(1.5, 0.0, 0.0), color=(0.3, 0.3, 0.3, 1.0)) bottomLeftBackground = OnscreenImage(parent=self, image=background, scale=0.75, pos=(0.75, 0.0, -0.75), color=(0.3, 0.3, 0.3, 1.0)) bottomRightBackground = OnscreenImage(parent=self, image=background, scale=0.75, pos=(1.5, 0.0, -0.75), color=(0.3, 0.3, 0.3, 1.0)) leftBorder1 = OnscreenImage(parent=self, image=side_bar, scale=0.25, pos=(-0.26, 0.0, -0.53)) leftBorder2 = OnscreenImage(parent=self, image=side_bar, scale=0.25, pos=(-0.26, 0.0, -1.15)) rightBorder1 = OnscreenImage(parent=self, image=side_bar, scale=0.25, pos=(1.235, 0.0, -0.53)) rightBorder2 = OnscreenImage(parent=self, image=side_bar, scale=0.25, pos=(1.235, 0.0, -1.15)) topBorder1 = OnscreenImage(parent=self, image=side_bar, scale=0.25, pos=(0.53, 0.0, -0.26), hpr=(0, 0, -90)) topBorder2 = OnscreenImage(parent=self, image=side_bar, scale=0.25, pos=(1.15, 0.0, -0.26), hpr=(0, 0, -90)) bottomBorder1 = OnscreenImage(parent=self, image=side_bar, scale=0.25, pos=(0.53, 0.0, -1.765), hpr=(0, 0, -90)) bottomBorder2 = OnscreenImage(parent=self, image=side_bar, scale=0.25, pos=(1.15, 0.0, -1.765), hpr=(0, 0, -90)) topLeftCorner = OnscreenImage(parent=self, image=top_left, scale=1.0, pos=(0.12, 0.0, -0.11)) topRightCorner = OnscreenImage(parent=self, image=top_right, scale=1.0, pos=(1.38, 0.0, -0.11)) bottomLeftCorner = OnscreenImage(parent=self, image=bottom_left, scale=1.0, pos=(0.12, 0.0, -1.39)) bottomRightCorner = OnscreenImage(parent=self, image=bottom_right, scale=1.0, pos=(1.38, 0.0, -1.39)) titlePos = (0.75, 0, -0.08) resultPos = (0.75, 0, -0.17) scoreboardPos = (0.2, 0, -1.35) closePos = (1.81, 0, -1.21) else: leftBackground = OnscreenImage(parent=self, image=background, scale=0.75, pos=(0.75, 0.0, -0.375), color=(0.3, 0.3, 0.3, 1.0)) rightBackground = OnscreenImage(parent=self, image=background, scale=0.75, pos=(1.5, 0.0, -0.375), color=(0.3, 0.3, 0.3, 1.0)) leftBorder = OnscreenImage(parent=self, image=side_bar, scale=0.25, pos=(-0.26, 0.0, -0.84)) rightBorder = OnscreenImage(parent=self, image=side_bar, scale=0.25, pos=(1.235, 0.0, -0.84)) topBorder1 = OnscreenImage(parent=self, image=side_bar, scale=0.25, pos=(0.53, 0.0, -0.635), hpr=(0, 0, -90)) topBorder2 = OnscreenImage(parent=self, image=side_bar, scale=0.25, pos=(1.15, 0.0, -0.635), hpr=(0, 0, -90)) bottomBorder1 = OnscreenImage(parent=self, image=side_bar, scale=0.25, pos=(0.53, 0.0, -1.39), hpr=(0, 0, -90)) bottomBorder2 = OnscreenImage(parent=self, image=side_bar, scale=0.25, pos=(1.15, 0.0, -1.39), hpr=(0, 0, -90)) topLeftCorner = OnscreenImage(parent=self, image=top_left, scale=1.0, pos=(0.12, 0.0, -0.485)) topRightCorner = OnscreenImage(parent=self, image=top_right, scale=1.0, pos=(1.38, 0.0, -0.485)) bottomLeftCorner = OnscreenImage(parent=self, image=bottom_left, scale=1.0, pos=(0.12, 0.0, -1.015)) bottomRightCorner = OnscreenImage(parent=self, image=bottom_right, scale=1.0, pos=(1.38, 0.0, -1.015)) titlePos = (0.75, 0, -0.5) resultPos = (0.75, 0, -0.59) scoreboardPos = (0.2, 0, -0.9) closePos = (1.81, 0, -1.585) titleTxt = PLocalizer.InvasionScoreboardTitle % PLocalizer.LocationNames[ InvasionGlobals.getIslandId(self.holidayId)] title = DirectLabel( parent=self, relief=None, text=titleTxt, text_align=TextNode.ACenter, text_scale=0.07, text_fg=PiratesGuiGlobals.TextFG1, text_shadow=PiratesGuiGlobals.TextShadow, pos=titlePos, text_font=PiratesGlobals.getPirateOutlineFont()) if self.wonInvasion: resultText = PLocalizer.InvasionWon else: resultText = PLocalizer.InvasionLost % PLocalizer.getInvasionMainZoneName( HolidayGlobals.getHolidayName(self.holidayId)) result = DirectLabel( parent=self, relief=None, text=resultText, text_align=TextNode.ACenter, text_scale=PiratesGuiGlobals.TextScaleTitleMed, text_fg=PiratesGuiGlobals.TextFG2, text_shadow=PiratesGuiGlobals.TextShadow, pos=resultPos, text_font=PiratesGlobals.getPirateOutlineFont()) self.screenNode = None self.screenNodeScale = None if self.onIsland: parchmentImage = OnscreenImage(parent=self, image=parchment, scale=(0.8, 0, 0.95), pos=(0.75, 0, -0.7)) self.screenNode = localAvatar.getParentObj( ).minimap.getScreenNode() if self.screenNode: self.screenNode.reparentTo(self) screenInfo = InvasionGlobals.getScreenInfo(self.holidayId) self.screenNode.setPos(screenInfo[0]) self.screenNodeScale = self.screenNode.getScale() self.screenNode.setScale(screenInfo[1]) self.screenNode.show() waxSealImage = self.onIsland and self.wonInvasion and OnscreenImage( parent=self, image=wax_seal, pos=(1.27, 0, -0.95), scale=1.0) self.fireSeq = None else: for fireInfo in InvasionGlobals.getLossFires(self.holidayId): firePath = NodePath(SequenceNode('SeqNode')) firePath.setPos firePath.setScale for fireCard in fires: firePath.node().addChild(fireCard.node()) firePath.node().setFrameRate(10) firePath.node().loop(False) firePath.reparentTo(self) firePath.setPos(fireInfo[0]) firePath.setScale(fireInfo[1]) self.firePaths.append(firePath) closeButton = GuiButton.GuiButton( parent=self, relief=None, pos=closePos, image=(generic_box, generic_box, generic_box_over, generic_box), image_scale=0.6, command=localAvatar.guiMgr.removeInvasionScoreboard) xButton = OnscreenImage(parent=closeButton, image=generic_x, scale=0.3, pos=(-0.382, 0, 1.15)) self.createScoreboard(scoreboardPos) return
def __init__(self, holidayId, wonInvasion, reputationEarned, enemiesKilled, barricadesSaved, wavesCleared): DirectFrame.__init__(self, relief = None, parent = base.aspect2d, image = None, pos = (0.0, 0.0, 0.5)) self.holidayId = holidayId self.wonInvasion = wonInvasion self.reputationEarned = reputationEarned self.enemiesKilled = enemiesKilled self.barricadesSaved = barricadesSaved self.wavesCleared = wavesCleared self.panel = None self.onIsland = False if localAvatar.getParentObj() and localAvatar.getParentObj().getUniqueId() == InvasionGlobals.getIslandId(self.holidayId) and localAvatar.getParentObj().minimap: self.onIsland = True self.firePaths = [] top_gui = loader.loadModel('models/gui/toplevel_gui') general_frame_gui = loader.loadModel('models/gui/general_frame') main_gui = loader.loadModel('models/gui/gui_main') background = general_frame_gui.find('**/middle') side_bar = main_gui.find('**/boarder_side') top_left = general_frame_gui.find('**/topLeft') top_right = general_frame_gui.find('**/topRight') bottom_left = general_frame_gui.find('**/bottomLeft') bottom_right = general_frame_gui.find('**/bottomRight') generic_x = main_gui.find('**/x2') generic_box = main_gui.find('**/exit_button') generic_box_over = main_gui.find('**/exit_button_over') parchment = top_gui.find('**/pir_t_gui_gen_parchment') wax_seal = top_gui.find('**/pir_t_gui_gen_waxSeal') fires = [ top_gui.find('**/pir_t_gui_gen_fire0'), top_gui.find('**/pir_t_gui_gen_fire1'), top_gui.find('**/pir_t_gui_gen_fire2')] top_gui.removeNode() general_frame_gui.removeNode() main_gui.removeNode() if self.onIsland: topLeftBackground = OnscreenImage(parent = self, image = background, scale = 0.75, pos = (0.75, 0.0, 0.0), color = (0.29999999999999999, 0.29999999999999999, 0.29999999999999999, 1.0)) topRightBackground = OnscreenImage(parent = self, image = background, scale = 0.75, pos = (1.5, 0.0, 0.0), color = (0.29999999999999999, 0.29999999999999999, 0.29999999999999999, 1.0)) bottomLeftBackground = OnscreenImage(parent = self, image = background, scale = 0.75, pos = (0.75, 0.0, -0.75), color = (0.29999999999999999, 0.29999999999999999, 0.29999999999999999, 1.0)) bottomRightBackground = OnscreenImage(parent = self, image = background, scale = 0.75, pos = (1.5, 0.0, -0.75), color = (0.29999999999999999, 0.29999999999999999, 0.29999999999999999, 1.0)) leftBorder1 = OnscreenImage(parent = self, image = side_bar, scale = 0.25, pos = (-0.26000000000000001, 0.0, -0.53000000000000003)) leftBorder2 = OnscreenImage(parent = self, image = side_bar, scale = 0.25, pos = (-0.26000000000000001, 0.0, -1.1499999999999999)) rightBorder1 = OnscreenImage(parent = self, image = side_bar, scale = 0.25, pos = (1.2350000000000001, 0.0, -0.53000000000000003)) rightBorder2 = OnscreenImage(parent = self, image = side_bar, scale = 0.25, pos = (1.2350000000000001, 0.0, -1.1499999999999999)) topBorder1 = OnscreenImage(parent = self, image = side_bar, scale = 0.25, pos = (0.53000000000000003, 0.0, -0.26000000000000001), hpr = (0, 0, -90)) topBorder2 = OnscreenImage(parent = self, image = side_bar, scale = 0.25, pos = (1.1499999999999999, 0.0, -0.26000000000000001), hpr = (0, 0, -90)) bottomBorder1 = OnscreenImage(parent = self, image = side_bar, scale = 0.25, pos = (0.53000000000000003, 0.0, -1.7649999999999999), hpr = (0, 0, -90)) bottomBorder2 = OnscreenImage(parent = self, image = side_bar, scale = 0.25, pos = (1.1499999999999999, 0.0, -1.7649999999999999), hpr = (0, 0, -90)) topLeftCorner = OnscreenImage(parent = self, image = top_left, scale = 1.0, pos = (0.12, 0.0, -0.11)) topRightCorner = OnscreenImage(parent = self, image = top_right, scale = 1.0, pos = (1.3799999999999999, 0.0, -0.11)) bottomLeftCorner = OnscreenImage(parent = self, image = bottom_left, scale = 1.0, pos = (0.12, 0.0, -1.3899999999999999)) bottomRightCorner = OnscreenImage(parent = self, image = bottom_right, scale = 1.0, pos = (1.3799999999999999, 0.0, -1.3899999999999999)) titlePos = (0.75, 0, -0.080000000000000002) resultPos = (0.75, 0, -0.17000000000000001) scoreboardPos = (0.20000000000000001, 0, -1.3500000000000001) closePos = (1.8100000000000001, 0, -1.21) else: leftBackground = OnscreenImage(parent = self, image = background, scale = 0.75, pos = (0.75, 0.0, -0.375), color = (0.29999999999999999, 0.29999999999999999, 0.29999999999999999, 1.0)) rightBackground = OnscreenImage(parent = self, image = background, scale = 0.75, pos = (1.5, 0.0, -0.375), color = (0.29999999999999999, 0.29999999999999999, 0.29999999999999999, 1.0)) leftBorder = OnscreenImage(parent = self, image = side_bar, scale = 0.25, pos = (-0.26000000000000001, 0.0, -0.83999999999999997)) rightBorder = OnscreenImage(parent = self, image = side_bar, scale = 0.25, pos = (1.2350000000000001, 0.0, -0.83999999999999997)) topBorder1 = OnscreenImage(parent = self, image = side_bar, scale = 0.25, pos = (0.53000000000000003, 0.0, -0.63500000000000001), hpr = (0, 0, -90)) topBorder2 = OnscreenImage(parent = self, image = side_bar, scale = 0.25, pos = (1.1499999999999999, 0.0, -0.63500000000000001), hpr = (0, 0, -90)) bottomBorder1 = OnscreenImage(parent = self, image = side_bar, scale = 0.25, pos = (0.53000000000000003, 0.0, -1.3899999999999999), hpr = (0, 0, -90)) bottomBorder2 = OnscreenImage(parent = self, image = side_bar, scale = 0.25, pos = (1.1499999999999999, 0.0, -1.3899999999999999), hpr = (0, 0, -90)) topLeftCorner = OnscreenImage(parent = self, image = top_left, scale = 1.0, pos = (0.12, 0.0, -0.48499999999999999)) topRightCorner = OnscreenImage(parent = self, image = top_right, scale = 1.0, pos = (1.3799999999999999, 0.0, -0.48499999999999999)) bottomLeftCorner = OnscreenImage(parent = self, image = bottom_left, scale = 1.0, pos = (0.12, 0.0, -1.0149999999999999)) bottomRightCorner = OnscreenImage(parent = self, image = bottom_right, scale = 1.0, pos = (1.3799999999999999, 0.0, -1.0149999999999999)) titlePos = (0.75, 0, -0.5) resultPos = (0.75, 0, -0.58999999999999997) scoreboardPos = (0.20000000000000001, 0, -0.90000000000000002) closePos = (1.8100000000000001, 0, -1.585) titleTxt = PLocalizer.InvasionScoreboardTitle % PLocalizer.LocationNames[InvasionGlobals.getIslandId(self.holidayId)] title = DirectLabel(parent = self, relief = None, text = titleTxt, text_align = TextNode.ACenter, text_scale = 0.070000000000000007, text_fg = PiratesGuiGlobals.TextFG1, text_shadow = PiratesGuiGlobals.TextShadow, pos = titlePos, text_font = PiratesGlobals.getPirateOutlineFont()) if self.wonInvasion: resultText = PLocalizer.InvasionWon else: resultText = PLocalizer.InvasionLost % PLocalizer.getInvasionMainZoneName(HolidayGlobals.getHolidayName(self.holidayId)) result = DirectLabel(parent = self, relief = None, text = resultText, text_align = TextNode.ACenter, text_scale = PiratesGuiGlobals.TextScaleTitleMed, text_fg = PiratesGuiGlobals.TextFG2, text_shadow = PiratesGuiGlobals.TextShadow, pos = resultPos, text_font = PiratesGlobals.getPirateOutlineFont()) self.screenNode = None self.screenNodeScale = None if self.onIsland: parchmentImage = OnscreenImage(parent = self, image = parchment, scale = (0.80000000000000004, 0, 0.94999999999999996), pos = (0.75, 0, -0.69999999999999996)) self.screenNode = localAvatar.getParentObj().minimap.getScreenNode() if self.screenNode: self.screenNode.reparentTo(self) screenInfo = InvasionGlobals.getScreenInfo(self.holidayId) self.screenNode.setPos(screenInfo[0]) self.screenNodeScale = self.screenNode.getScale() self.screenNode.setScale(screenInfo[1]) self.screenNode.show() if self.onIsland: if self.wonInvasion: waxSealImage = OnscreenImage(parent = self, image = wax_seal, pos = (1.27, 0, -0.94999999999999996), scale = 1.0) self.fireSeq = None else: for fireInfo in InvasionGlobals.getLossFires(self.holidayId): firePath = NodePath(SequenceNode('SeqNode')) for fireCard in fires: firePath.node().addChild(fireCard.node()) firePath.node().setFrameRate(10) firePath.node().loop(False) firePath.reparentTo(self) firePath.setPos(fireInfo[0]) firePath.setScale(fireInfo[1]) self.firePaths.append(firePath) closeButton = GuiButton.GuiButton(parent = self, relief = None, pos = closePos, image = (generic_box, generic_box, generic_box_over, generic_box), image_scale = 0.59999999999999998, command = localAvatar.guiMgr.removeInvasionScoreboard) xButton = OnscreenImage(parent = closeButton, image = generic_x, scale = 0.29999999999999999, pos = (-0.38200000000000001, 0, 1.1499999999999999)) self.createScoreboard(scoreboardPos)
def destroy(self): if self.onIsland and localAvatar.getParentObj() and localAvatar.getParentObj().getUniqueId() == InvasionGlobals.getIslandId(self.holidayId) and localAvatar.getParentObj().minimap: localAvatar.getParentObj().minimap.handleHolidayEnded(localAvatar.getParentObj(), HolidayGlobals.getHolidayName(self.holidayId), True) if self.screenNode: self.screenNode.reparentTo(localAvatar.guiMgr.minimapRoot) self.screenNode.setPos(0, 0, 0) self.screenNode.setScale(self.screenNodeScale) self.screenNode.hide() if self.panel: self.panel.destroy() self.panel = None for firePath in self.firePaths: firePath.removeNode() del firePath self.firePaths = [] DirectFrame.destroy(self)