コード例 #1
0
 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
コード例 #2
0
    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)
コード例 #3
0
 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
コード例 #4
0
ファイル: MinimapObject.py プロジェクト: Kealigal/POS2013
 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
コード例 #5
0
 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)
コード例 #7
0
 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)
コード例 #8
0
 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
コード例 #9
0
 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)
コード例 #10
0
 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)
コード例 #14
0
    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
コード例 #15
0
 def stopMainFog(self):
     if self.fogStarted:
         fogRanges = InvasionGlobals.getFarFogRange(self.holidayId)
         fogOnset = fogRanges[0]
         fogPeak = fogRanges[1]
         self.lerpLinearFog(fogOnset, fogPeak, 10.0)
コード例 #16
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)
コード例 #17
0
 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)
コード例 #18
0
 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)