예제 #1
0
    def load(self):
        base.cr.renderFrame()
        base.camLens.setMinFov(CIGlobals.DefaultCameraFov / (4.0 / 3.0))
        self.__setupStageToon()
        self.world = loader.loadModel('phase_9/models/cogHQ/SellbotHQExterior.bam')
        self.world.reparentTo(base.render)
        self.world.setPos(0, 227.09, -25.36)
        self.sky = loader.loadModel('phase_9/models/cogHQ/cog_sky.bam')
        self.sky.setScale(1)
        self.sky.reparentTo(base.render)
        self.sky.find('**/InnerGroup').removeNode()
        self.fog = Fog('charSelectFog')
        self.fog.setColor(0.2, 0.2, 0.2)
        self.fog.setExpDensity(0.003)
        base.render.setFog(self.fog)
        self.title = DirectLabel(text=self.TITLE, text_font=CIGlobals.getMickeyFont(), text_fg=(1, 0.9, 0.1, 1), relief=None, text_scale=0.13, pos=(0, 0, 0.82))
        self.charNameLabel = OnscreenText(text='', font=CIGlobals.getMickeyFont(), pos=(-0.25, 0.5, 0), fg=(1, 0.9, 0.1, 1.0))
        self.charNameLabel.hide()
        self.playOrCreateButton = DirectButton(text='', pos=(0.8125, 0, -0.735), command=self.__action, geom=CIGlobals.getDefaultBtnGeom(), text_scale=0.06, relief=None, text_pos=(0, -0.01))
        self.playOrCreateButton.hide()
        self.deleteButton = DirectButton(text='Delete', pos=(0.8125, 0, -0.835), command=self.__action, extraArgs=['delete'], geom=CIGlobals.getDefaultBtnGeom(), text_scale=0.06, relief=None, text_pos=(0, -0.01))
        self.deleteButton.hide()
        self.quitButton = DirectButton(text='Quit', pos=(-1.1, 0, -0.925), command=self.__action, extraArgs=['quit'], text_scale=0.06, geom=CIGlobals.getDefaultBtnGeom(), relief=None, text_pos=(0, -0.01))
        textRolloverColor = Vec4(1, 1, 0, 1)
        textDownColor = Vec4(0.5, 0.9, 1, 1)
        textDisabledColor = Vec4(0.4, 0.8, 0.4, 1)
        for slot in range(6):
            if self.avChooser.hasToonInSlot(slot):
                choice = self.avChooser.getAvChoiceBySlot(slot)
                text = choice.name
            else:
                text = self.NO_TOON
            btn = DirectButton(relief=None, text=text, text_scale=0.06, text_align=TextNode.ALeft, text1_bg=textDownColor, text2_bg=textRolloverColor, text3_fg=textDisabledColor, textMayChange=0, command=self.__handleCharButton, extraArgs=[slot], text_pos=(0, 0, 0.0))
            btn.setPythonTag('slot', slot)
            self.charButtons.append(btn)
            btn['state'] = DGG.NORMAL

        gui = loader.loadModel('phase_3.5/models/gui/friendslist_gui.bam')
        listXorigin = -0.02
        listFrameSizeX = 0.625
        listZorigin = -0.96
        listFrameSizeZ = 1.04
        arrowButtonScale = 1.3
        itemFrameXorigin = -0.237
        itemFrameZorigin = 0.365
        buttonXstart = itemFrameXorigin + 0.293
        self.charList = DirectScrolledList(relief=None, pos=(0.75, 0, 0.08), incButton_image=(gui.find('**/FndsLst_ScrollUp'),
         gui.find('**/FndsLst_ScrollDN'),
         gui.find('**/FndsLst_ScrollUp_Rllvr'),
         gui.find('**/FndsLst_ScrollUp')), incButton_relief=None, incButton_scale=(arrowButtonScale, arrowButtonScale, -arrowButtonScale), incButton_pos=(buttonXstart, 0, itemFrameZorigin - 0.999), incButton_image3_color=Vec4(1, 1, 1, 0.2), decButton_image=(gui.find('**/FndsLst_ScrollUp'),
         gui.find('**/FndsLst_ScrollDN'),
         gui.find('**/FndsLst_ScrollUp_Rllvr'),
         gui.find('**/FndsLst_ScrollUp')), decButton_relief=None, decButton_scale=(arrowButtonScale, arrowButtonScale, arrowButtonScale), decButton_pos=(buttonXstart, 0, itemFrameZorigin + 0.125), decButton_image3_color=Vec4(1, 1, 1, 0.2), itemFrame_pos=(itemFrameXorigin, 0, itemFrameZorigin), itemFrame_scale=1.0, itemFrame_relief=DGG.SUNKEN, itemFrame_frameSize=(listXorigin,
         listXorigin + listFrameSizeX,
         listZorigin,
         listZorigin + listFrameSizeZ), itemFrame_frameColor=(0.85, 0.95, 1, 1), itemFrame_borderWidth=(0.01, 0.01), numItemsVisible=15, forceHeight=0.075, items=self.charButtons)
        base.camera.setPos(75.12, 63.22, -23)
        base.camera.setHpr(26.57, 9.62, 0)
        return
    def createGui(self):
        """ Create the GUI that will tell the client how much
        running power they have. """
        self.powerFrame = DirectFrame()
        self.powerBg = OnscreenImage(image=DGG.getDefaultDialogGeom(),
                                     scale=(0.5, 1.0, 0.5),
                                     pos=(1.02, 0, 0.7),
                                     parent=self.powerFrame,
                                     color=CIGlobals.DialogColor)
        self.powerBar = DirectWaitBar(barColor=(0, 0.7, 0, 1),
                                      range=20.0,
                                      value=0,
                                      parent=self.powerFrame,
                                      scale=(0.15, 0, 1.1),
                                      pos=(1.02, 0, 0.66))
        self.powerBar.setR(-90)
        self.powerTitle = DirectLabel(text="POWER",
                                      text_scale=0.08,
                                      pos=(1.02, 0, 0.85),
                                      relief=None,
                                      parent=self.powerFrame,
                                      text_fg=(1, 1, 0, 1),
                                      text_font=CIGlobals.getMickeyFont())

        self.boostFrame = DirectFrame()
        self.boostBg = OnscreenImage(image=DGG.getDefaultDialogGeom(),
                                     scale=(0.5, 1.0, 0.5),
                                     pos=(0.45, 0, 0.7),
                                     parent=self.boostFrame,
                                     color=CIGlobals.DialogColor)
        self.boostBar = DirectWaitBar(barColor=self.defaultBoostBarColor,
                                      range=10,
                                      value=0,
                                      parent=self.boostFrame,
                                      scale=(0.15, 0, 1.1),
                                      pos=(0.45, 0, 0.66))
        self.boostBar.setR(-90)
        self.boostTitle = DirectLabel(text="BOOST",
                                      text_scale=0.08,
                                      pos=(0.45, 0, 0.85),
                                      relief=None,
                                      parent=self.boostFrame,
                                      text_fg=(1, 1, 0, 1),
                                      text_font=CIGlobals.getMickeyFont())
        self.boostFullLbl = DirectLabel(text="BOOST READY",
                                        text_scale=0.065,
                                        pos=(0.45, 0, 0.3),
                                        relief=None,
                                        parent=self.boostFrame,
                                        text_fg=self.fullBoostBarColor,
                                        text_shadow=(0.4, 0.4, 0.4, 1.0),
                                        text_font=CIGlobals.getToonFont())
        self.boostFullLbl.hide()
 def setup(self, title='CHOOSE WHAT YOU WANT TO BUY'):
     font = CIGlobals.getMickeyFont()
     txtFg = (0, 0, 0, 1)
     txtScale = 0.05
     txtPos = (0, -0.1)
     buttons = loader.loadModel('phase_3.5/models/gui/QT_buttons.bam')
     self.window = OnscreenImage(image=self.bgImage,
                                 scale=(0.9, 1, 0.7),
                                 parent=self)
     self.title = DirectLabel(text=title,
                              relief=None,
                              pos=(0, 0, 0.5),
                              text_wordwrap=10,
                              text_font=font,
                              text_fg=(1, 1, 0, 1),
                              scale=0.1,
                              parent=self)
     self.updateTurretCount()
     self.infoLbl = DirectLabel(text='Welcome!',
                                relief=None,
                                text_scale=0.075,
                                text_fg=txtFg,
                                text_shadow=(0, 0, 0, 0),
                                pos=(0, 0, 0.215))
     self.okBtn = DirectButton(geom=CIGlobals.getOkayBtnGeom(),
                               relief=None,
                               text='OK',
                               text_fg=txtFg,
                               text_scale=txtScale,
                               text_pos=txtPos,
                               pos=(-0.1, 0, -0.5),
                               parent=self)
     self.clBtn = DirectButton(geom=CIGlobals.getCancelBtnGeom(),
                               relief=None,
                               text='Cancel',
                               text_fg=txtFg,
                               text_scale=txtScale,
                               text_pos=txtPos,
                               pos=(0.1, 0, -0.5),
                               parent=self)
     buttonGeom = (buttons.find('**/QT_back'), buttons.find('**/QT_back'),
                   buttons.find('**/QT_back'), buttons.find('**/QT_back'))
     self.backBtn = DirectButton(geom=buttonGeom,
                                 relief=None,
                                 scale=0.05,
                                 pos=(-0.3, 0, -0.25),
                                 parent=self,
                                 command=self.changePage,
                                 extraArgs=[0])
     self.nextBtn = DirectButton(geom=buttonGeom,
                                 relief=None,
                                 scale=0.05,
                                 pos=(0.3, 0, -0.25),
                                 hpr=(0, 0, 180),
                                 command=self.changePage,
                                 extraArgs=[1],
                                 parent=self)
     self.hideInfo()
     return
예제 #4
0
 def setupCountdownText(self):
     tn = TextNode('countdownText')
     tn.setFont(CIGlobals.getMickeyFont())
     tn.setTextColor(VBase4(0.5, 0.5, 0.5, 1.0))
     tn.setAlign(TextNode.ACenter)
     self.countdownTextNP = self.getElevatorModel().attachNewNode(tn)
     self.countdownTextNP.setScale(2)
     self.countdownTextNP.setPos(0, 1, 7)
예제 #5
0
 def enterAnnounceGameOver(self):
     whistleSfx = base.loadSfx("phase_4/audio/sfx/AA_sound_whistle.mp3")
     whistleSfx.play()
     del whistleSfx
     self.gameOverLbl = DirectLabel(
         text="GAME\nOVER!", relief=None, scale=0.35, text_font=CIGlobals.getMickeyFont(), text_fg=(1, 0, 0, 1)
     )
     return
예제 #6
0
 def enterAnnounceGameOver(self):
     whistleSfx = base.loadSfx("phase_4/audio/sfx/AA_sound_whistle.ogg")
     whistleSfx.play()
     del whistleSfx
     self.gameOverLbl = DirectLabel(text="GAME\nOVER!",
                                    relief=None,
                                    scale=0.35,
                                    text_font=CIGlobals.getMickeyFont(),
                                    text_fg=(1, 0, 0, 1))
예제 #7
0
 def load(self):
     self.unload()
     timer = loader.loadModel("phase_3.5/models/gui/clock_gui.bam")
     self.timer = OnscreenImage(image=timer.find('**/alarm_clock'), pos=(-0.15, 0, -0.15), scale=0.4, parent=base.a2dTopRight)
     self.timeLbl = DirectLabel(text="0", parent=self.timer, text_scale=0.3, text_pos=(0, -0.13),
                             text_font=CIGlobals.getMickeyFont(), text_fg=(1, 0, 0, 1),
                             relief=None)
     timer.removeNode()
     self.timer.setBin('gui-popup', 60)
     del timer
 def generateStation(self):
     GroupStation.generateStation(self, self.Slots)
     circleTexture = loader.loadTexture("phase_13/maps/stand_here_cog.png")
     for circle in self.circles:
         circle.setTexture(circleTexture, 1)
     title = DirectLabel(text=self.Title, relief=None, text_fg=(0.5, 0.5, 0.5, 1.0),
                         text_decal=True, text_font=CIGlobals.getMickeyFont(), text_pos = (0, 0),
                         parent=self.sign.find('**/signText_locator'), text_scale=0.3,
                         text_wordwrap=7.0)
     title.setBillboardAxis(2)
예제 #9
0
 def startCountdown(self):
     self.countdownLbl = DirectLabel(text='',
                                     text_scale=0.3,
                                     text_font=CIGlobals.getMickeyFont(),
                                     text_fg=(1, 1, 0, 1),
                                     pos=(0, 0, 0.5))
     Sequence(Func(self.setCountdownText, '3'), Wait(1.0),
              Func(self.setCountdownText, '2'), Wait(1.0),
              Func(self.setCountdownText, '1'), Wait(1.0),
              Func(self.setCountdownText, 'GO!'), Wait(1.5),
              Func(self.deleteCountdownLabel)).start()
 def createTimer(self):
     self.time = 10
     self.timer = DirectLabel(text=str(self.time),
                              relief=None,
                              text_font=CIGlobals.getMickeyFont(),
                              text_scale=1.5,
                              pos=(0, 0, 5.1),
                              text_fg=(1, 0, 0, 1),
                              text_decal=True,
                              parent=self.sign)
     self.timer.setBillboardAxis(2)
 def setupHealthLabel(self):
     self.healthLabel = DirectLabel(text="",
                                    text_fg=CIGlobals.PositiveTextColor,
                                    scale=0.75,
                                    relief=None,
                                    text_decal=True,
                                    text_font=CIGlobals.getMickeyFont(),
                                    text_align=TextNode.ACenter)
     self.healthLabel.reparentTo(self)
     self.healthLabel.setBillboardPointEye()
     self.healthLabel.stash()
예제 #12
0
 def enterAnnounceGameOver(self):
     whistleSfx = base.loadSfx("phase_4/audio/sfx/AA_sound_whistle.ogg")
     whistleSfx.play()
     del whistleSfx
     self.gameOverLbl = DirectLabel(text="TIME'S\nUP!",
                                    relief=None,
                                    scale=0.5,
                                    text_font=CIGlobals.getMickeyFont(),
                                    text_fg=(1, 0, 0, 1))
     self.track = Sequence(Wait(3.0), Func(self.fsm.request, 'finalScores'))
     self.track.start()
 def startCountdown(self):
     """ Start the countdown to the start of the race. """
     self.countdownLbl = DirectLabel(text="",
                                     text_scale=0.3,
                                     text_font=CIGlobals.getMickeyFont(),
                                     text_fg=(1, 1, 0, 1),
                                     pos=(0, 0, 0.5))
     Sequence(Func(self.setCountdownText, "3"), Wait(1.0),
              Func(self.setCountdownText, "2"), Wait(1.0),
              Func(self.setCountdownText, "1"), Wait(1.0),
              Func(self.setCountdownText, "GO!"), Wait(1.5),
              Func(self.deleteCountdownLabel)).start()
 def setTeam(self, team):
     self.team = team
     if self.teamText:
         self.teamText.removeNode()
         self.teamText = None
     textNode = TextNode('teamText')
     textNode.setAlign(TextNode.ACenter)
     textNode.setFont(CIGlobals.getMickeyFont())
     self.teamText = self.avatar.attachNewNode(textNode)
     self.teamText.setBillboardAxis()
     self.teamText.setZ(self.avatar.getNameTag().getZ() + 1.0)
     self.teamText.setScale(5.0)
예제 #15
0
 def generate(self):
     DistributedObject.announceGenerate(self)
     self.trolleyStation = self.cr.playGame.hood.loader.geom.find('**/prop_trolley_station_DNARoot')
     self.trolleyCar = self.trolleyStation.find('**/trolley_car')
     self.trolleyKey = self.trolleyStation.find('**/key')
     tn = TextNode('trolleycountdowntext')
     tn.setFont(CIGlobals.getMickeyFont())
     tn.setTextColor(1, 0, 0, 1)
     self.countdownText = self.trolleyStation.attachNewNode(tn)
     self.countdownText.setScale(3.0)
     self.countdownText.setPos(14.58, 10.77, 11.17)
     self.acceptOnce('entertrolley_sphere', self.__handleTrolleyTrigger)
예제 #16
0
    def __init__(self, cr):
        try:
            self.DistributedMinigame_initialized
            return
        except:
            self.DistributedMinigame_initialized = 1

        DistributedObject.DistributedObject.__init__(self, cr)
        Timer.Timer.__init__(self)
        self.headPanels = HeadPanels()
        self.finalScoreUI = FinalScoreGUI()
        self.fsm = ClassicFSM('DistributedMinigame', [
            State('start', self.enterStart, self.exitStart, ['waitForOthers']),
            State('waitForOthers', self.enterWaitForOthers,
                  self.exitWaitForOthers, ['play']),
            State('play', self.enterPlay, self.exitPlay, ['gameOver']),
            State('gameOver', self.enterGameOver, self.exitGameOver, ['off']),
            State('off', self.enterOff, self.exitOff)
        ], 'off', 'off')
        self.fsm.enterInitialState()
        self.cr = cr
        self.localAv = base.localAvatar
        self.localAvId = self.localAv.doId
        self.musicPath = 'phase_4/audio/bgm/trolley_song.mid'
        self.winSfx = base.loadSfx('phase_4/audio/sfx/MG_win.ogg')
        self.loseSfx = base.loadSfx('phase_4/audio/sfx/MG_lose.ogg')
        self.prizeHigh = base.loadSfx('phase_6/audio/sfx/KART_Applause_1.ogg')
        self.prizeLow = base.loadSfx('phase_6/audio/sfx/KART_Applause_4.ogg')
        self.music = None
        self.description = ''
        self.descDialog = None
        self.winnerPrize = 0
        self.loserPrize = 0
        self.winnerMsg = 'Winner!\nYou have earned: %s Jellybeans'
        self.loserMsg = 'Loser!\nYou have earned: %s Jellybeans'
        self.allWinnerMsgs = [
            'Nice try!\nYou have earned: %s', 'Good job!\nYou have earned: %s',
            'Way to go!\nYou have earned: %s', 'Awesome!\nYou have earned: %s'
        ]
        self.timer = None
        self.timeLbl = None
        self.alertText = None
        self.alertPulse = None
        self.popupSound = None
        self.gameOverLbl = OnscreenText(text="TIME'S\nUP!",
                                        scale=0.25,
                                        font=CIGlobals.getMickeyFont(),
                                        fg=(1, 0, 0, 1))
        self.gameOverLbl.setBin('gui-popup', 60)
        self.gameOverLbl.hide()
        return
 def makeSelectionGUI(self):
     font = CIGlobals.getMickeyFont()
     box = loader.loadModel('phase_3/models/gui/dialog_box_gui.bam')
     imp = CIGlobals.getToonFont()
     geom = CIGlobals.getDefaultBtnGeom()
     self.container = DirectFrame()
     self.bg = OnscreenImage(image=box,
                             color=(1, 1, 0.75, 1),
                             scale=(1.9, 1.4, 1.4),
                             parent=self.container)
     self.title = OnscreenText(text='Join  a  Team',
                               pos=(0, 0.5, 0),
                               font=font,
                               scale=0.12,
                               parent=self.container,
                               fg=(1, 0.9, 0.3, 1))
     self.btnFrame = DirectFrame(parent=self.container, pos=(0.14, 0, 0))
     self.team1BtnFrame = DirectFrame(parent=self.btnFrame,
                                      pos=(-0.5, 0, 0))
     self.team2BtnFrame = DirectFrame(parent=self.btnFrame,
                                      pos=(0.22, 0, 0))
     self.team1Btn = DirectButton(parent=self.team1BtnFrame,
                                  relief=None,
                                  pressEffect=0,
                                  image=self.team1BtnImg,
                                  image_scale=(0.9, 1, 1),
                                  scale=0.4,
                                  command=self.choseTeam,
                                  extraArgs=[TEAM1])
     self.team1Plyrs_Lbl = OnscreenText(parent=self.team1BtnFrame,
                                        text=str(self.playersByTeam[TEAM1]),
                                        pos=(0, -0.46, 0),
                                        font=imp)
     self.team2Btn = DirectButton(parent=self.team2BtnFrame,
                                  relief=None,
                                  pressEffect=0,
                                  image=self.team2BtnImg,
                                  image_scale=(0.9, 1, 1),
                                  scale=0.4,
                                  command=self.choseTeam,
                                  extraArgs=[TEAM2])
     self.team2Plyrs_Lbl = OnscreenText(parent=self.team2BtnFrame,
                                        text=str(self.playersByTeam[TEAM2]),
                                        pos=(0, -0.46, 0),
                                        font=imp)
     self.teamFull_Lbl = OnscreenText(parent=self.container,
                                      text='',
                                      pos=(0, -0.6, 0),
                                      font=imp)
     return
예제 #18
0
파일: Hood.py 프로젝트: coginvasion/src
 def enter(self, requestStatus):
     StateData.enter(self)
     hoodId = requestStatus['hoodId']
     zoneId = requestStatus['zoneId']
     rootZone = ZoneUtil.getZoneId(hoodId)
     if base.localAvatar.getLastHood() != rootZone and hoodId != CIGlobals.MinigameArea:
         base.localAvatar.b_setLastHood(rootZone)
     if not base.localAvatar.hasDiscoveredHood(rootZone):
         hoodsDiscovered = list(base.localAvatar.getHoodsDiscovered())
         hoodsDiscovered.append(rootZone)
         base.localAvatar.b_setHoodsDiscovered(hoodsDiscovered)
     text = self.getHoodText(zoneId)
     self.titleText = OnscreenText(text, fg=self.titleColor, font=CIGlobals.getMickeyFont(), scale=0.15, pos=(0, -0.65))
     self.titleText.hide()
    def enterAnnounceTeamWon(self, team):
        whistleSfx = base.loadSfx("phase_4/audio/sfx/AA_sound_whistle.ogg")
        whistleSfx.play()
        del whistleSfx

        if self.gameMode == GGG.GameModes.KOTH and DistributedToonFPSGame.getKOTHKing(
                self):
            text = DistributedToonFPSGame.getKOTHKing(self).getName()
        else:
            text = GGG.TeamNameById[team].split(' ')[0]
        self.gameOverLbl = DirectLabel(text="{0}\nWins!".format(text),
                                       relief=None,
                                       scale=0.35,
                                       text_font=CIGlobals.getMickeyFont(),
                                       text_fg=(1, 0, 0, 1))
        self.track = Sequence(Wait(3.0), Func(self.fsm.request, 'finalScores'))
        self.track.start()
예제 #20
0
 def createGui(self):
     self.deleteGui()
     uno_gui = loader.loadModel('phase_4/models/minigames/mg_uno_call_btn_gui.egg')
     gui = loader.loadModel('phase_3/models/gui/quit_button.bam')
     self.drawBtn = DirectButton(text='Draw', relief=None, text_scale=0.055, scale=1, parent=base.a2dBottomLeft, geom=(gui.find('**/QuitBtn_UP'),
      gui.find('**/QuitBtn_DN'),
      gui.find('**/QuitBtn_RLVR'),
      gui.find('**/QuitBtn_UP')), pos=(0.18, 0, 0.1), geom_scale=(0.6, 1.0, 1.0), command=self.d_requestNewCard)
     self.callBtn = DirectButton(geom=(uno_gui.find('**/mg_uno_call_btn-idle'),
      uno_gui.find('**/mg_uno_call_btn-down'),
      uno_gui.find('**/mg_uno_call_btn-rlvr'),
      uno_gui.find('**/mg_uno_call_btn-disabled')), relief=None, scale=0.3, parent=base.a2dBottomLeft, pos=(0.18, 0, 0.305), command=self.d_callUno)
     self.callBtn['state'] = DGG.DISABLED
     self.playByPlay = OnscreenText(text='', font=CIGlobals.getMickeyFont(), scale=0.1, fg=(0, 0.8, 0, 1), pos=(0, 0.85), wordwrap=15.0)
     self.cardDeck.generate()
     self.createTimer()
     gui.removeNode()
     del gui
     return
예제 #21
0
 def loadDNAStore(self):
     if hasattr(self, 'dnaStore'):
         self.dnaStore.reset_nodes()
         self.dnaStore.reset_hood_nodes()
         self.dnaStore.reset_place_nodes()
         self.dnaStore.reset_hood()
         self.dnaStore.reset_fonts()
         self.dnaStore.reset_DNA_vis_groups()
         self.dnaStore.reset_textures()
         self.dnaStore.reset_block_numbers()
         self.dnaStore.reset_block_zones()
         self.dnaStore.reset_suit_points()
         del self.dnaStore
     self.dnaStore = DNAStorage()
     loadDNAFile(self.dnaStore, 'phase_4/dna/storage.pdna')
     self.dnaStore.storeFont('humanist', CIGlobals.getToonFont())
     self.dnaStore.storeFont('mickey', CIGlobals.getMickeyFont())
     self.dnaStore.storeFont('suit', CIGlobals.getSuitFont())
     loadDNAFile(self.dnaStore, 'phase_3.5/dna/storage_interior.pdna')
예제 #22
0
파일: Shop.py 프로젝트: coginvasion/src
 def setup(self, title = 'CHOOSE WHAT YOU WANT TO BUY'):
     font = CIGlobals.getMickeyFont()
     txtFg = (0, 0, 0, 1)
     txtScale = 0.05
     txtPos = (0, -0.1)
     buttons = loader.loadModel('phase_3.5/models/gui/QT_buttons.bam')
     self.window = OnscreenImage(image=self.bgImage, scale=(0.9, 1, 0.7), parent=self)
     self.title = DirectLabel(text=title, relief=None, pos=(0, 0, 0.5), text_wordwrap=10, text_font=font, text_fg=(1, 1, 0, 1), scale=0.1, parent=self)
     self.infoLbl = DirectLabel(text='Welcome!', relief=None, text_scale=0.075, text_fg=txtFg, text_shadow=(0, 0, 0, 0), pos=(0, 0, 0.215))
     self.okBtn = DirectButton(geom=CIGlobals.getOkayBtnGeom(), relief=None, text='OK', text_fg=txtFg, text_scale=txtScale, text_pos=txtPos, pos=(-0.1, 0, -0.5), parent=self)
     self.clBtn = DirectButton(geom=CIGlobals.getCancelBtnGeom(), relief=None, text='Cancel', text_fg=txtFg, text_scale=txtScale, text_pos=txtPos, pos=(0.1, 0, -0.5), parent=self)
     buttonGeom = (buttons.find('**/QT_back'),
      buttons.find('**/QT_back'),
      buttons.find('**/QT_back'),
      buttons.find('**/QT_back'))
     self.backBtn = DirectButton(geom=buttonGeom, relief=None, scale=0.05, pos=(-0.3, 0, -0.25), parent=self, command=self.changePage, extraArgs=[0])
     self.nextBtn = DirectButton(geom=buttonGeom, relief=None, scale=0.05, pos=(0.3, 0, -0.25), hpr=(0, 0, 180), command=self.changePage, extraArgs=[1], parent=self)
     self.hideInfo()
     return
예제 #23
0
 def enter(self, requestStatus):
     StateData.enter(self)
     hoodId = requestStatus['hoodId']
     zoneId = requestStatus['zoneId']
     rootZone = ZoneUtil.getZoneId(hoodId)
     if base.localAvatar.getLastHood(
     ) != rootZone and hoodId != CIGlobals.MinigameArea:
         base.localAvatar.b_setLastHood(rootZone)
     if not base.localAvatar.hasDiscoveredHood(rootZone):
         hoodsDiscovered = list(base.localAvatar.getHoodsDiscovered())
         hoodsDiscovered.append(rootZone)
         base.localAvatar.b_setHoodsDiscovered(hoodsDiscovered)
     text = self.getHoodText(zoneId)
     self.titleText = OnscreenText(text,
                                   fg=self.titleColor,
                                   font=CIGlobals.getMickeyFont(),
                                   scale=0.15,
                                   pos=(0, -0.65))
     self.titleText.hide()
 def enterIntermission(self, ts=0):
     self.intermissionText = DirectLabel(
         relief=None,
         text_decal=True,
         text="",
         scale=0.7,
         parent=self.interior.find('**/sign_origin;+s'),
         text_font=CIGlobals.getMickeyFont(),
         text_fg=(1, 0.9, 0, 1))
     self.movieTrack = Sequence(name=self.uniqueName('intermissionTrack'))
     for second in range(CinemaGlobals.IntermissionLength + 1):
         timeRemaining = CinemaGlobals.IntermissionLength - second
         self.movieTrack.append(
             Func(self.setIntermissionText,
                  "Next show in:\n%d" % timeRemaining))
         self.movieTrack.append(Wait(1.0))
     self.movieTrack.setDoneEvent(self.movieTrack.getName())
     self.acceptOnce(self.movieTrack.getDoneEvent(), self.fsm.request,
                     ['off'])
     self.movieTrack.start(ts)
예제 #25
0
 def setTeam(self, team):
     self.team = team
     print 'setteam'
     color = self.mg.getTeamDNAColor(team)
     if color is not None:
         print 'changing shit'
         self.ogHeadColor = self.avatar.headcolor
         self.ogTorsoColor = self.avatar.torsocolor
         self.ogLegColor = self.avatar.legcolor
         self.ogShirtColor = self.avatar.shirtColor
         self.ogSleeveColor = self.avatar.sleeveColor
         self.ogShortColor = self.avatar.shortColor
         self.ogShirt = self.avatar.shirt
         self.ogSleeve = self.avatar.sleeve
         self.ogShort = self.avatar.shorts
         self.avatar.headcolor = color
         self.avatar.torsocolor = color
         self.avatar.legcolor = color
         self.avatar.shirtColor = color
         self.avatar.sleeveColor = color
         self.avatar.shortColor = color
         self.avatar.shirt = self.avatar.shirtDNA2shirt['00']
         self.avatar.sleeve = self.avatar.sleeveDNA2sleeve['00']
         if self.avatar.gender == 'girl':
             self.avatar.shorts = self.avatar.shortDNA2short['10']
         else:
             if self.avatar.gender == 'boy':
                 self.avatar.shorts = self.avatar.shortDNA2short['00']
         self.avatar.generateDNAStrandWithCurrentStyle()
         self.dnaWasChanged = True
     if self.teamText:
         self.teamText.removeNode()
         self.teamText = None
     textNode = TextNode('teamText')
     textNode.setAlign(TextNode.ACenter)
     textNode.setFont(CIGlobals.getMickeyFont())
     self.teamText = self.avatar.attachNewNode(textNode)
     self.teamText.setBillboardAxis()
     self.teamText.setZ(self.avatar.getNameTag().getZ() + 1.0)
     self.teamText.setScale(5.0)
     return
    def loadWorld(self):
        self.unloadWorld()

        self.worldMdl = base.loader.loadModel(self.WORLD_MODEL_PATH)
        for sectionName in self.BAD_SECTIONS:
            sectionNode = self.worldMdl.find('**/' + sectionName)
            if (not sectionNode.isEmpty()):
                sectionNode.removeNode()
        self.occluderData = base.loader.loadModel(
            "phase_9/models/cogHQ/factory_sneak_occluders.egg")
        for occluderNode in self.occluderData.findAllMatches(
                '**/+OccluderNode'):
            base.render.setOccluder(occluderNode)
            occluderNode.node().setDoubleSided(True)
        self.worldMdl.flattenMedium()
        self.alertText = OnscreenText(text='',
                                      font=CIGlobals.getMickeyFont(),
                                      fg=(1, 0.9, 0.3, 1),
                                      pos=(0, 0.8, 0))
        self.popupSound = base.loadSfx(
            'phase_3/audio/sfx/GUI_balloon_popup.ogg')
 def createGui(self):
     self.deleteGui()
     uno_gui = loader.loadModel(
         'phase_4/models/minigames/mg_uno_call_btn_gui.egg')
     gui = loader.loadModel('phase_3/models/gui/quit_button.bam')
     self.drawBtn = DirectButton(text='Draw',
                                 relief=None,
                                 text_scale=0.055,
                                 scale=1,
                                 parent=base.a2dBottomLeft,
                                 geom=(gui.find('**/QuitBtn_UP'),
                                       gui.find('**/QuitBtn_DN'),
                                       gui.find('**/QuitBtn_RLVR'),
                                       gui.find('**/QuitBtn_UP')),
                                 pos=(0.18, 0, 0.1),
                                 geom_scale=(0.6, 1.0, 1.0),
                                 command=self.d_requestNewCard)
     self.callBtn = DirectButton(
         geom=(uno_gui.find('**/mg_uno_call_btn-idle'),
               uno_gui.find('**/mg_uno_call_btn-down'),
               uno_gui.find('**/mg_uno_call_btn-rlvr'),
               uno_gui.find('**/mg_uno_call_btn-disabled')),
         relief=None,
         scale=0.3,
         parent=base.a2dBottomLeft,
         pos=(0.18, 0, 0.305),
         command=self.d_callUno)
     self.callBtn['state'] = DGG.DISABLED
     self.playByPlay = OnscreenText(text='',
                                    font=CIGlobals.getMickeyFont(),
                                    scale=0.1,
                                    fg=(0, 0.8, 0, 1),
                                    pos=(0, 0.85),
                                    wordwrap=15.0)
     self.cardDeck.generate()
     self.createTimer()
     gui.removeNode()
     del gui
     return
    def generateStation(self, game):
        self.game = game
        numSlots = self.game2maxPlayers[game]
        GroupStation.generateStation(self, numSlots)

        if not base.config.GetBool('show-minigame-dates', False):
            text = game
            pos = (0, 0)
        else:
            text = game + "\n" + self.game2dateCreated[game]
            pos = (0, 0.1)

        title = DirectLabel(text=text,
                            relief=None,
                            text_fg=(0.7, 0.3, 0.5, 1.0),
                            text_decal=True,
                            text_font=CIGlobals.getMickeyFont(),
                            text_pos=pos,
                            parent=self.sign.find('**/signText_locator'),
                            text_scale=0.3,
                            text_wordwrap=7.0)
        title.setBillboardAxis(2)
예제 #29
0
 def setupClerk(self):
     self.clerk = Toon(self.cr)
     self.clerk.setDNAStrand(NPC_DNA['Coach'])
     self.clerk.setName('Coach')
     self.clerk.generateToon()
     self.clerk.reparentTo(self)
     self.clerk.setupNameTag()
     self.clerk.animFSM.request('neutral')
     self.clerk.setH(180)
     self.clerk.setY(2.2)
     self.clerk.setZ(1)
     self.stand = loader.loadModel("phase_4/models/props/bubblestand.egg")
     self.stand.reparentTo(self)
     self.stand.setScale(1.1)
     self.standText = DirectLabel(text="Coach's Battle Shop",
                                  text_fg=(0.6, 0, 0, 1),
                                  text_decal=True,
                                  relief=None,
                                  parent=self.stand,
                                  pos=(0, -0.875, 5.2),
                                  scale=0.45,
                                  text_font=CIGlobals.getMickeyFont())
     self.snp.setY(-1)
예제 #30
0
 def setupClerk(self):
     self.clerk = Toon(self.cr)
     self.clerk.setName('Coach')
     self.clerk.setDNAStrand(NPC_DNA['Coach'])
     self.clerk.nametag.setNametagColor(
         NametagGlobals.NametagColors[NametagGlobals.CCNPC])
     self.clerk.nametag.setActive(0)
     self.clerk.nametag.updateAll()
     self.clerk.reparentTo(self)
     self.clerk.animFSM.request('neutral')
     self.clerk.setH(180)
     self.clerk.setPos(0, 2.2, 1)
     self.stand = loader.loadModel('phase_4/models/props/bubblestand.egg')
     self.stand.reparentTo(self)
     self.stand.setScale(1.1)
     self.standText = DirectLabel(text="Coach's Battle Shop",
                                  text_fg=(0.6, 0, 0, 1),
                                  text_decal=True,
                                  relief=None,
                                  parent=self.stand,
                                  pos=(0, -0.875, 5.2),
                                  scale=0.45,
                                  text_font=CIGlobals.getMickeyFont())
     return
예제 #31
0
파일: HoodGui.py 프로젝트: coginvasion/src
def announceHood(hood):
    nameLbl = OnscreenText(text='%s\n%s' % (hood, CIGlobals.Playground), scale=0.15, font=CIGlobals.getMickeyFont(), pos=(0, -0.65), fg=(1, 0.3, 0.5, 1.0))
    Sequence(Wait(2.5), Func(startFade, nameLbl), Wait(1), Func(nameLbl.destroy)).start()
예제 #32
0
 def setupClerk(self):
     self.clerk = Toon(self.cr)
     self.clerk.setName('Coach')
     self.clerk.setDNAStrand(NPC_DNA['Coach'])
     self.clerk.reparentTo(self)
     self.clerk.animFSM.request('neutral')
     self.clerk.setH(180)
     self.clerk.setPos(0, 2.2, 1)
     self.stand = loader.loadModel('phase_4/models/props/bubblestand.egg')
     self.stand.reparentTo(self)
     self.stand.setScale(1.1)
     self.standText = DirectLabel(text="Coach's Battle Shop", text_fg=(0.6, 0, 0, 1), text_decal=True, relief=None, parent=self.stand, pos=(0, -0.875, 5.2), scale=0.45, text_font=CIGlobals.getMickeyFont())
     return
예제 #33
0
 def createGui(self):
     """ Create the GUI that will tell the client how much
     running power they have. """
     self.powerFrame = DirectFrame()
     self.powerBg = OnscreenImage(image=DGG.getDefaultDialogGeom(), scale=(0.5, 1.0, 0.5), pos=(1.02, 0, 0.7), parent=self.powerFrame, color=CIGlobals.DialogColor)
     self.powerBar = DirectWaitBar(barColor=(0, 0.7, 0, 1), range=20.0, value=0, parent=self.powerFrame, scale=(0.15, 0, 1.1), pos=(1.02, 0, 0.66))
     self.powerBar.setR(-90)
     self.powerTitle = DirectLabel(text='POWER', text_scale=0.08, pos=(1.02, 0, 0.85), relief=None, parent=self.powerFrame, text_fg=(1, 1, 0, 1), text_font=CIGlobals.getMickeyFont())
     self.boostFrame = DirectFrame()
     self.boostBg = OnscreenImage(image=DGG.getDefaultDialogGeom(), scale=(0.5, 1.0, 0.5), pos=(0.45, 0, 0.7), parent=self.boostFrame, color=CIGlobals.DialogColor)
     self.boostBar = DirectWaitBar(barColor=self.defaultBoostBarColor, range=10, value=0, parent=self.boostFrame, scale=(0.15, 0, 1.1), pos=(0.45, 0, 0.66))
     self.boostBar.setR(-90)
     self.boostTitle = DirectLabel(text='BOOST', text_scale=0.08, pos=(0.45, 0, 0.85), relief=None, parent=self.boostFrame, text_fg=(1, 1, 0, 1), text_font=CIGlobals.getMickeyFont())
     self.boostFullLbl = DirectLabel(text='BOOST READY', text_scale=0.065, pos=(0.45, 0, 0.3), relief=None, parent=self.boostFrame, text_fg=self.fullBoostBarColor, text_shadow=(0.4, 0.4, 0.4, 1.0), text_font=CIGlobals.getToonFont())
     self.boostFullLbl.hide()
     return
예제 #34
0
 def startCountdown(self):
     """ Start the countdown to the start of the race. """
     self.countdownLbl = DirectLabel(text='', text_scale=0.3, text_font=CIGlobals.getMickeyFont(), text_fg=(1, 1, 0, 1), pos=(0, 0, 0.5))
     Sequence(Func(self.setCountdownText, '3'), Wait(1.0), Func(self.setCountdownText, '2'), Wait(1.0), Func(self.setCountdownText, '1'), Wait(1.0), Func(self.setCountdownText, 'GO!'), Wait(1.5), Func(self.deleteCountdownLabel)).start()
    def generate(self):
        DistributedObject.announceGenerate(self)
        self.trolleyStation = self.cr.playGame.hood.loader.geom.find('**/prop_trolley_station_DNARoot')
        self.trolleyCar = self.trolleyStation.find('**/trolley_car')
        self.trolleyKey = self.trolleyStation.find('**/key')
        exitFog = Fog('TrolleyExitFog')
        exitFog.setColor(0.0, 0.0, 0.0)
        exitFog.setLinearOnsetPoint(30.0, 14.0, 0.0)
        exitFog.setLinearOpaquePoint(37.0, 14.0, 0.0)
        exitFog.setLinearFallback(70.0, 999.0, 1000.0)
        self.trolleyExitFog = self.trolleyStation.attachNewNode(exitFog)
        self.trolleyExitFogNode = exitFog
        enterFog = Fog('TrolleyEnterFog')
        enterFog.setColor(0.0, 0.0, 0.0)
        enterFog.setLinearOnsetPoint(0.0, 14.0, 0.0)
        enterFog.setLinearOpaquePoint(-7.0, 14.0, 0.0)
        enterFog.setLinearFallback(70.0, 999.0, 1000.0)
        self.trolleyEnterFog = self.trolleyStation.attachNewNode(enterFog)
        self.trolleyEnterFogNode = enterFog
        self.trolleyCar.setFogOff()
        tn = TextNode('trolleycountdowntext')
        tn.setFont(CIGlobals.getMickeyFont())
        tn.setTextColor(1, 0, 0, 1)
        tn.setAlign(TextNode.ACenter)
        self.keys = self.trolleyCar.findAllMatches('**/key')
        self.numKeys = self.keys.getNumPaths()
        self.keyInit = []
        self.keyRef = []
        for i in range(self.numKeys):
            key = self.keys[i]
            key.setTwoSided(1)
            ref = self.trolleyCar.attachNewNode('key' + `i` + 'ref')
            ref.iPosHpr(key)
            self.keyRef.append(ref)
            self.keyInit.append(key.getTransform())

        self.frontWheels = self.trolleyCar.findAllMatches('**/front_wheels')
        self.numFrontWheels = self.frontWheels.getNumPaths()
        self.frontWheelInit = []
        self.frontWheelRef = []
        for i in range(self.numFrontWheels):
            wheel = self.frontWheels[i]
            ref = self.trolleyCar.attachNewNode('frontWheel' + `i` + 'ref')
            ref.iPosHpr(wheel)
            self.frontWheelRef.append(ref)
            self.frontWheelInit.append(wheel.getTransform())

        self.backWheels = self.trolleyCar.findAllMatches('**/back_wheels')
        self.numBackWheels = self.backWheels.getNumPaths()
        self.backWheelInit = []
        self.backWheelRef = []
        for i in range(self.numBackWheels):
            wheel = self.backWheels[i]
            ref = self.trolleyCar.attachNewNode('backWheel' + `i` + 'ref')
            ref.iPosHpr(wheel)
            self.backWheelRef.append(ref)
            self.backWheelInit.append(wheel.getTransform())

        trolleyAnimationReset = Func(self.resetAnimation)
        trolleyEnterStartPos = Point3(-20, 14, -1)
        trolleyEnterEndPos = Point3(15, 14, -1)
        trolleyEnterPos = Sequence(name='TrolleyEnterPos')
        trolleyEnterPos.append(Func(self.trolleyCar.setFog, self.trolleyEnterFogNode))
        trolleyEnterPos.append(self.trolleyCar.posInterval(TROLLEY_ENTER_TIME, trolleyEnterEndPos, startPos=trolleyEnterStartPos, blendType='easeOut'))
        trolleyEnterPos.append(Func(self.trolleyCar.setFogOff))
        trolleyEnterTrack = Sequence(trolleyAnimationReset, trolleyEnterPos, name='trolleyEnter')
        keyAngle = round(TROLLEY_ENTER_TIME) * 360
        dist = Vec3(trolleyEnterEndPos - trolleyEnterStartPos).length()
        wheelAngle = dist / (2.0 * math.pi * 0.95) * 360
        trolleyEnterAnimateInterval = LerpFunctionInterval(self.animateTrolley, duration=TROLLEY_ENTER_TIME, blendType='easeOut', extraArgs=[keyAngle, wheelAngle], name='TrolleyAnimate')
        trolleyEnterSoundTrack = SoundInterval(self.trolleyAwaySfx, node=self.trolleyCar)
        self.trolleyEnterTrack = Parallel(trolleyEnterTrack, trolleyEnterAnimateInterval, trolleyEnterSoundTrack)
        trolleyExitStartPos = Point3(15, 14, -1)
        trolleyExitEndPos = Point3(50, 14, -1)
        trolleyExitPos = Sequence(name='TrolleyExitPos')
        trolleyExitPos.append(Func(self.trolleyCar.setFog, self.trolleyExitFogNode))
        trolleyExitPos.append(self.trolleyCar.posInterval(TROLLEY_EXIT_TIME, trolleyExitEndPos, startPos=trolleyExitStartPos, blendType='easeIn'))
        trolleyExitPos.append(Func(self.trolleyCar.setFogOff))
        trolleyExitStartPos = Point3(15, 14, -1)
        trolleyExitEndPos = Point3(50, 14, -1)
        trolleyExitBellInterval = SoundInterval(self.trolleyBellSfx, node=self.trolleyCar)
        trolleyExitAwayInterval = SoundInterval(self.trolleyAwaySfx, node=self.trolleyCar)
        keyAngle = round(TROLLEY_EXIT_TIME) * 360
        dist = Vec3(trolleyExitEndPos - trolleyExitStartPos).length()
        wheelAngle = dist / (2.0 * math.pi * 0.95) * 360
        trolleyExitAnimateInterval = LerpFunctionInterval(self.animateTrolley, duration=TROLLEY_EXIT_TIME, blendType='easeIn', extraArgs=[keyAngle, wheelAngle], name='TrolleyAnimate')
        self.trolleyExitTrack = Parallel(trolleyExitPos, trolleyExitBellInterval, trolleyExitAwayInterval, trolleyExitAnimateInterval, name=self.uniqueName('trolleyExit'))
        self.countdownText = self.trolleyStation.attachNewNode(tn)
        self.countdownText.setScale(3.0)
        self.countdownText.setPos(14.58, 10.77, 11.17)
        self.acceptOnce('entertrolley_sphere', self.__handleTrolleyTrigger)
예제 #36
0
 def enterAnnounceGameOver(self):
     whistleSfx = base.loadSfx('phase_4/audio/sfx/AA_sound_whistle.mp3')
     whistleSfx.play()
     del whistleSfx
     self.gameOverLbl = DirectLabel(text="TIME'S\nUP!", relief=None, scale=0.35, text_font=CIGlobals.getMickeyFont(), text_fg=(1, 0, 0, 1))
     self.track = Sequence(Wait(3.0), Func(self.fsm.request, 'finalScores'))
     self.track.start()
     return
예제 #37
0
def getAlertText(fg=(1, 0.9, 0.3, 1), scale=0.08):
    return OnscreenText(text='',
                        font=CIGlobals.getMickeyFont(),
                        fg=fg,
                        pos=(0, 0.8, 0),
                        scale=scale)
예제 #38
0
 def generateStation(self, game):
     self.game = game
     numSlots = self.game2maxPlayers[game]
     GroupStation.generateStation(self, numSlots)
     title = DirectLabel(text=game + '\n' + self.game2dateCreated[game], relief=None, text_fg=(0.7, 0.3, 0.5, 1.0), text_decal=True, text_font=CIGlobals.getMickeyFont(), text_pos=(0, 0.1), parent=self.sign.find('**/signText_locator'), text_scale=0.3, text_wordwrap=7.0)
     title.setBillboardAxis(2)
     return
예제 #39
0
 def setupHealthLabel(self):
     self.healthLabel = DirectLabel(text='', text_fg=CIGlobals.PositiveTextColor, scale=0.75, relief=None, text_decal=True, text_font=CIGlobals.getMickeyFont(), text_align=TextNode.ACenter)
     self.healthLabel.reparentTo(self)
     self.healthLabel.setBillboardPointEye()
     self.healthLabel.stash()
     return
 def enterVoteGameMode(self):
     render.hide()
     font = CIGlobals.getMickeyFont()
     imp = CIGlobals.getToonFont()
     box = DGG.getDefaultDialogGeom()
     geom = CIGlobals.getDefaultBtnGeom()
     self.container = DirectFrame()
     self.bg = OnscreenImage(image=box,
                             color=(1, 1, 0.75, 1),
                             scale=(2.4, 1.4, 1.4),
                             parent=self.container)
     self.title = OnscreenText(text="Vote  on  Game  Mode",
                               pos=(0, 0.5, 0),
                               font=font,
                               scale=(0.12),
                               parent=self.container,
                               fg=(1, 0.9, 0.3, 1))
     self.btnFrame = DirectFrame(parent=self.container, pos=(0.14, 0, 0))
     self.casualFrame = DirectFrame(parent=self.btnFrame, pos=(-0.80, 0, 0))
     self.ctfFrame = DirectFrame(parent=self.btnFrame, pos=(-0.125, 0, 0))
     self.kothFrame = DirectFrame(parent=self.btnFrame, pos=(0.55, 0, 0))
     self.casual = DirectButton(parent=self.casualFrame,
                                relief=None,
                                pressEffect=0,
                                image=('phase_4/maps/casual_neutral.png',
                                       'phase_4/maps/casual_hover.png',
                                       'phase_4/maps/casual_hover.png'),
                                image_scale=(0.9, 1, 1),
                                scale=0.4,
                                command=self.__pickedGameMode,
                                extraArgs=[GGG.GameModes.CASUAL])
     self.casual_votesLbl = OnscreenText(parent=self.casualFrame,
                                         text="0",
                                         pos=(0, -0.46, 0),
                                         font=imp)
     self.ctf = DirectButton(parent=self.ctfFrame,
                             relief=None,
                             pressEffect=0,
                             image=('phase_4/maps/ctf_neutral.png',
                                    'phase_4/maps/ctf_hover.png',
                                    'phase_4/maps/ctf_hover.png'),
                             image_scale=(0.9, 1, 1),
                             scale=0.4,
                             command=self.__pickedGameMode,
                             extraArgs=[GGG.GameModes.CTF])
     self.ctf_votesLbl = OnscreenText(parent=self.ctfFrame,
                                      text="0",
                                      pos=(0, -0.46, 0),
                                      font=imp)
     self.koth = DirectButton(parent=self.kothFrame,
                              relief=None,
                              pressEffect=0,
                              image=('phase_4/maps/koth_neutral.png',
                                     'phase_4/maps/koth_hover.png',
                                     'phase_4/maps/koth_hover.png'),
                              image_scale=(0.9, 1, 1),
                              scale=0.4,
                              command=self.__pickedGameMode,
                              extraArgs=[GGG.GameModes.KOTH])
     self.koth_votesLbl = OnscreenText(parent=self.kothFrame,
                                       text="0",
                                       pos=(0, -0.46, 0),
                                       font=imp)
     self.outcomeLbl = OnscreenText(parent=self.container,
                                    text="",
                                    pos=(0, -0.6, 0),
                                    font=imp,
                                    scale=0.1)
		toData = 0.1,
		fromData = 0.12,
		blendType = 'easeInOut'
	)
)
sfx = base.loadSfx('phase_3/audio/sfx/GUI_balloon_popup.mp3')
music = base.loadMusic('phase_7/audio/bgm/encntr_suit_winning_indoor.ogg')
def spot():
	pulse.start()
	base.playSfx(sfx)
	base.playMusic(music)

base.accept('s', spot)
"""

font = CIGlobals.getMickeyFont()
box = loader.loadModel('phase_3/models/gui/dialog_box_gui.bam')
imp = CIGlobals.getToonFont()
geom = CIGlobals.getDefaultBtnGeom()
container = DirectFrame()
bg = OnscreenImage(image=box,
                   color=(1, 1, 0.75, 1),
                   scale=(1.9, 1.4, 1.4),
                   parent=container)
title = OnscreenText(text="Vote  on  Game  Mode",
                     pos=(0, 0.5, 0),
                     font=font,
                     scale=(0.12),
                     parent=container,
                     fg=(1, 0.9, 0.3, 1))
btnFrame = DirectFrame(parent=container, pos=(0.14, 0, 0))
예제 #42
0
def getGameText():
    return OnscreenText(text='', scale=0.15, fg=(1.0, 0.5, 0.0, 1.0), font=CIGlobals.getMickeyFont())
예제 #43
0
    def generateStation(self):
        GroupStation.generateStation(self, self.Slots)
        circleTexture = loader.loadTexture('phase_13/maps/stand_here_cog.png')
        for circle in self.circles:
            circle.setTexture(circleTexture, 1)

        title = DirectLabel(text=self.Title, relief=None, text_fg=(0.5, 0.5, 0.5, 1.0), text_decal=True, text_font=CIGlobals.getMickeyFont(), text_pos=(0, 0), parent=self.sign.find('**/signText_locator'), text_scale=0.3, text_wordwrap=7.0)
        title.setBillboardAxis(2)
        return
예제 #44
0
def announceHood(hood):
    nameLbl = OnscreenText(text='%s\n%s' % (hood, CIGlobals.Playground), scale=0.15, font=CIGlobals.getMickeyFont(), pos=(0,
                                                                                                                          -0.65), fg=(1,
                                                                                                                                      0.3,
                                                                                                                                      0.5,
                                                                                                                                      1.0))
    Sequence(Wait(2.5), Func(startFade, nameLbl), Wait(1), Func(nameLbl.destroy)).start()
예제 #45
0
 def createTimer(self):
     self.time = 10
     self.timer = DirectLabel(text=str(self.time), relief=None, text_font=CIGlobals.getMickeyFont(), text_scale=1.5, pos=(0, 0, 5.1), text_fg=(1, 0, 0, 1), text_decal=True, parent=self.sign)
     self.timer.setBillboardAxis(2)
     return
def getGameText(fg=(1.0, 0.5, 0.0, 1.0)):
    return OnscreenText(text="",
                        scale=0.15,
                        fg=fg,
                        font=CIGlobals.getMickeyFont())
예제 #47
0
파일: Timer.py 프로젝트: coginvasion/src
 def load(self):
     self.unload()
     timer = loader.loadModel('phase_3.5/models/gui/clock_gui.bam')
     self.timer = OnscreenImage(image=timer.find('**/alarm_clock'), pos=(-0.15, 0, -0.15), scale=0.4, parent=base.a2dTopRight)
     self.timeLbl = DirectLabel(text='0', parent=self.timer, text_scale=0.3, text_pos=(0, -0.13), text_font=CIGlobals.getMickeyFont(), text_fg=(1, 0, 0, 1), relief=None)
     timer.removeNode()
     self.timer.setBin('gui-popup', 60)
     del timer
     return
예제 #48
0
    def enterIntermission(self, ts = 0):
        self.intermissionText = DirectLabel(relief=None, text_decal=True, text='', scale=0.7, parent=self.interior.find('**/sign_origin;+s'), text_font=CIGlobals.getMickeyFont(), text_fg=(1, 0.9, 0, 1))
        self.movieTrack = Sequence(name=self.uniqueName('intermissionTrack'))
        for second in range(CinemaGlobals.IntermissionLength + 1):
            timeRemaining = CinemaGlobals.IntermissionLength - second
            self.movieTrack.append(Func(self.setIntermissionText, 'Next show in:\n%d' % timeRemaining))
            self.movieTrack.append(Wait(1.0))

        self.movieTrack.setDoneEvent(self.movieTrack.getName())
        self.acceptOnce(self.movieTrack.getDoneEvent(), self.fsm.request, ['off'])
        self.movieTrack.start(ts)
        return