def _addedToMap(self, map):
     self.mapGeom.setScale(aspect2d, 0.3)
     overlayNode = map.getOverlayNode()
     worldNode = map.getWorldNode()
     transform = self.mapGeom.getTransform(overlayNode)
     self.hpMeter = HpMeter(width=0.4, parent=overlayNode)
     self.hpMeter.setP(-90)
     if self.zone != InvasionGlobals.getTotalCapturePoints(self.holidayId):
         self.hpMeter.setPos(transform.getPos() + (50, 0, 0))
     else:
         self.hpMeter.setPos(InvasionGlobals.getMainCapturePointHpPos(self.holidayId))
     self.hpMeter.setScale(transform.getScale())
     self.hpMeter['sortOrder'] = MinimapCapturePoint.SORT
     self.hpMeter.setAlphaScale(1, 1)
     self.hpMeter.categoryLabel['text_scale'] = 0.1
     self.hpMeter.update(1, 1)
     topGui = loader.loadModel('models/gui/toplevel_gui')
     if self.zone != InvasionGlobals.getTotalCapturePoints(self.holidayId):
         self.barricadeIcon = OnscreenImage(parent=self.mapGeom, image=topGui.find('**/pir_t_gui_gen_barricade'), scale=1.5, hpr=(0,
                                                                                                                                  90,
                                                                                                                                  0), color=(1.0,
                                                                                                                                             0.5,
                                                                                                                                             0.0,
                                                                                                                                             1))
     self.barricadeDestroyed = OnscreenImage(parent=overlayNode, image=topGui.find('**/pir_t_gui_gen_Xred'), scale=transform.getScale() * 4.0, pos=transform.getPos(), hpr=(0,
                                                                                                                                                                            -90,
                                                                                                                                                                            0))
     self.barricadeDestroyed.hide()
     topGui.removeNode()
     self.mouseOver = GuiButton(parent=self.hpMeter, relief=None, state=DGG.NORMAL, scale=3.0, image=None, frameSize=(-0.1, 0.15, -0.03, 0.03), helpText=PLocalizer.CapturePointNames[self.holidayId][self.zone], helpPos=(0.1, 0, -0.08), helpDelay=0, helpOpaque=True, sortOrder=MinimapShop.SORT)
     return
 def createGui(self):
     self.deleteGui()
     gui = loader.loadModel("phase_3.5/models/gui/weapon_gui.bam")
     self.gui_dict = {CIGlobals.WholeCreamPie: {"idle": gui.find('**/tart_idle'),
                         "selected": gui.find('**/tart_selected'),
                         "disabled": gui.find('**/tart_disabled')},
                     CIGlobals.BirthdayCake: {"idle": gui.find('**/cake_idle'),
                         "selected": gui.find('**/cake_selected'),
                         "disabled": gui.find('**/cake_disabled')},
                     CIGlobals.CreamPieSlice: {"idle": gui.find('**/slice_idle'),
                         "selected": gui.find('**/slice_selected'),
                         "disabled": gui.find('**/slice_disabled')},
                     CIGlobals.TNT: {"idle": gui.find('**/tnt_idle'),
                         "selected": gui.find('**/tnt_selected'),
                         "disabled": gui.find('**/tnt_idle')}}
     self.guiPos = {"noTnt": [(0, 0, -0.5),
                             (0, 0, 0),
                             (0, 0, 0.5)],
                 "tnt": [(0, 0, -0.15),
                         (0, 0, 0.15),
                         (0, 0, 0.45),
                         (0, 0, -0.45)]}
     self.guiFrame = DirectFrame(parent=base.a2dRightCenter, pos=(-0.2, 0, 0))
     self.gagOrder = [CIGlobals.BirthdayCake, CIGlobals.WholeCreamPie, CIGlobals.CreamPieSlice, CIGlobals.TNT]
     img1 = OnscreenImage(image=gui.find('**/cake_idle'), pos=(0, 0, -0.5), scale=0.3, parent=self.guiFrame)
     img2 = OnscreenImage(image=gui.find('**/tart_selected'), pos=(0, 0, 0.0), scale=0.3, parent=self.guiFrame)
     img3 = OnscreenImage(image=gui.find('**/slice_idle'), pos=(0, 0, 0.5), scale=0.3, parent=self.guiFrame)
     img4 = OnscreenImage(image=gui.find('**/tnt_idle'), pos=(0, 0, -0.75), scale=0.3, parent=self.guiFrame)
     self.ammo_lbl = DirectLabel(text="Ammo: %s" % self.backpack.getSupply(), text_fg=(1,1,1,1), relief=None, text_shadow=(0,0,0,1), text_scale=0.08, pos=(0.2, 0, 0.35), parent=base.a2dBottomLeft)
     self.gui_list = {CIGlobals.BirthdayCake : img1, CIGlobals.WholeCreamPie : img2, CIGlobals.CreamPieSlice : img3, CIGlobals.TNT : img4}
     self.enableWeaponSwitch()
     gui.remove_node()
     self.update()
     del gui
    def __init__(self):
        self.defaultLogoScale = 1
        self.defaultLogoZ = 0.65
        self.bgm = loader.loadModel(
            "phase_3/models/gui/progress-background.bam")
        self.bgm.find('**/logo').stash()
        self.barShadow = OnscreenImage(image=self.bgm.find("**/bar_shadow"),
                                       parent=hidden)
        self.bgm.find("**/bar_shadow").removeNode()
        self.bg = self.bgm.find('**/bg')
        self.defaultBgTexture = self.bg.findTexture('*')

        self.logoNode, self.logoImg = CIGlobals.getLogoImage(
            hidden, self.defaultLogoScale, (0, 0, self.defaultLogoZ))

        self.bg_img = OnscreenImage(image=self.bg, parent=hidden)
        self.bg_img.setSx(1.35)
        self.bg_img.hide()
        self.progress_bar = DirectWaitBar(value=0,
                                          pos=(0, 0, -0.85),
                                          parent=hidden,
                                          text_pos=(0, 0, 0.2))
        self.progress_bar.setSx(1.064)
        self.progress_bar.setSz(0.38)
        toontipgui = loader.loadModel(
            'phase_3.5/models/gui/stickerbook_gui.bam')
        poster = toontipgui.find('**/questCard')
        self.toontipFrame = DirectFrame(image=poster,
                                        image_scale=(1.4, 1, 1),
                                        parent=hidden,
                                        relief=None,
                                        pos=(0, 0, -0.1),
                                        scale=0.85)
        self.toontipLbl = OnscreenText(text="",
                                       parent=self.toontipFrame,
                                       fg=(89.0 / 255, 95.0 / 255, 98.0 / 255,
                                           1),
                                       font=CIGlobals.getToonFont(),
                                       wordwrap=13,
                                       pos=(-0.59, 0.25),
                                       align=TextNode.ALeft,
                                       scale=0.08)
        self.loading_lbl = DirectLabel(text="",
                                       relief=None,
                                       scale=0.08,
                                       pos=(-1.0725, 0, -0.79),
                                       text_align=TextNode.ALeft,
                                       sortOrder=100,
                                       text_fg=(1, 1, 1, 1),
                                       text_font=CIGlobals.getMinnieLogoFont(),
                                       parent=hidden,
                                       text_shadow=(0, 0, 0, 0))

        # This is useful when the user has chosen to hide aspect2d before the loading screen.
        # However, we want to show the loading screen all the time, so we need to restore the
        # previous state after the loading screen ends.
        self.mustRestoreHiddenAspect2d = False
Ejemplo n.º 4
0
    def __init__(self):#, avatarList, parentFSM, doneEvent):
        DirectObject.__init__(self)
        base.disableMouse()
        #base.cr.avChoice = None
        fadeSequence = Sequence(
            Wait(.5),
            Func(base.transitions.fadeIn, .5),
            Wait(1)).start()#,
            #base.camera.posHprInterval(1, Point3(MAIN_POS), VBase3(MAIN_HPR), blendType = 'easeInOut')).start()
        #self.background = loader.loadModel('phase_4/models/neighborhoods/toontown_central_full')
        #self.background.reparentTo(render)
        #for frame in render.findAllMatches('*/doorFrame*'):
        #    frame.removeNode()
        #self.sky = loader.loadModel('phase_3.5/models/props/TT_sky')
        #SkyUtil.startCloudSky(self)

        #base.camera.setPosHpr(INIT_POS, INIT_HPR)
        self.background = OnscreenImage(image = DMenuResources.MenuBackground, parent = aspect2d)
        self.background.setBin('background', 1)
        self.background.reparentTo(aspect2d)
        self.background.setScale(2, 1, 1)
        
        self.logo = OnscreenImage(image = DMenuResources.GameLogo, scale = (1, 1, .5))
        self.logo.reparentTo(aspect2d)
        self.logo.setTransparency(TransparencyAttrib.MAlpha)
        scale = self.logo.getScale()
        self.logo.setPos(0, 0, .5)
        self.logo.setColorScale(Vec4(0, 0, 0, 0))

        #fadeInBackground = (LerpColorScaleInterval(self.background, 1, Vec4(1, 1, 1, 1), Vec4(1, 1, 1, 0))).start()
        fadeInLogo = (LerpColorScaleInterval(self.logo, 1, Vec4(1, 1, 1, 1), Vec4(1, 1, 1, 0))).start()

        self.createButtons()

        self.fadeOut = None
        self.optionsMgr = DMenuOptions.DMenuOptions()
        self.quitConfirmation = DMenuQuit.DMenuQuit()

        # TT: We need these to run the Pick A Toon screen
        #self.patAvList = avatarList
        #self.patFSM = parentFSM
        #self.patDoneEvent = doneEvent
        
        self.transcircle = Resources.transcircle
        self.transcircle.setTransparency(TransparencyAttrib.MAlpha)
        self.transcircle.setScale(VBase3(0.01, 0.01, 0.01))
        self.transcircle.setBin('background', 3)
        
        self.savemgr = LOTASaveMgr.LOTASaveMgr()
        
        # Get the save data
        self.savePos = self.savemgr.loadSaveData()
        
        self.titleMusic = Resources.titleMusic
        self.titleMusic.setLoop(1)
        self.setMusicNormal()
Ejemplo n.º 5
0
 def __init__(self):
     self.defaultLogoScale = 1
     self.defaultLogoZ = 0.65
     self.bgm = loader.loadModel(
         "phase_3/models/gui/progress-background.bam")
     self.bgm.find('**/logo').stash()
     self.bg = self.bgm.find('**/bg')
     self.logo = loader.loadTexture("phase_3/maps/CogInvasion_Logo.png")
     self.logoNode = hidden.attachNewNode('logoNode')
     self.logoNode.setScale(self.defaultLogoScale)
     self.logoNode.setPos(0, self.defaultLogoZ, 0)
     self.logoImg = OnscreenImage(image=self.logo,
                                  scale=(0.685, 0, 0.325),
                                  parent=self.logoNode)
     self.logoImg.setTransparency(True)
     self.bg_img = OnscreenImage(image=self.bg, parent=hidden)
     self.bg_img.setSx(1.35)
     self.bg_img.hide()
     self.progress_bar = DirectWaitBar(value=0,
                                       pos=(0, 0, -0.85),
                                       parent=hidden,
                                       text_pos=(0, 0, 0.2))
     self.progress_bar.setSx(1.064)
     self.progress_bar.setSz(0.38)
     toontipgui = loader.loadModel(
         'phase_3.5/models/gui/stickerbook_gui.bam')
     poster = toontipgui.find('**/questCard')
     self.toontipFrame = DirectFrame(image=poster,
                                     image_scale=(1.4, 1, 1),
                                     parent=hidden,
                                     relief=None,
                                     pos=(0, 0, -0.1),
                                     scale=0.85)
     self.toontipLbl = OnscreenText(text="",
                                    parent=self.toontipFrame,
                                    fg=(89.0 / 255, 95.0 / 255, 98.0 / 255,
                                        1),
                                    font=CIGlobals.getToonFont(),
                                    wordwrap=14.5,
                                    pos=(-0.59, 0.25),
                                    align=TextNode.ALeft,
                                    scale=0.08)
     self.loading_lbl = DirectLabel(text="",
                                    relief=None,
                                    scale=0.08,
                                    pos=(-1.0725, 0, -0.79),
                                    text_align=TextNode.ALeft,
                                    sortOrder=100,
                                    text_fg=(89.0 / 255, 95.0 / 255,
                                             98.0 / 255, 1.0),
                                    text_font=CIGlobals.getMinnieFont(),
                                    parent=hidden,
                                    text_shadow=(0, 0, 0, 1))
    def __init__(self):
        DirectObject.__init__(self)

        base.setBackgroundColor(0, 0, 0)

        self.textParent = base.credits2d.attachNewNode('textParent')
        self.textParent.setBin("gui-popup", 61)
        self.textParent.setDepthWrite(False)
        self.textParent.setTransparency(True)

        self.logoImage = OnscreenImage('phase_3/maps/CogInvasion_Logo.png',
                                       parent=self.textParent,
                                       scale=(0.685, 1.0, 0.325))
        self.logoImage.setTransparency(1)

        text = self.buildCreditsText()
        self.creditsText = OnscreenText(parent=self.textParent,
                                        font=CIGlobals.getToonFont(),
                                        fg=(1, 1, 1, 1),
                                        scale=0.065,
                                        pos=(0, -0.5, 0),
                                        text=text,
                                        shadow=(0, 0, 0, 1))

        self.posInterval = None

        self.backgroundImg = OnscreenImage('phase_3/maps/credits_fade.png',
                                           parent=render2d)
        self.backgroundImg.setTransparency(True)
        self.backgroundImg.setColor(0, 0, 0, 1.0)
        self.backgroundImg.setBin("gui-popup", 62)
        self.backgroundImg.setDepthWrite(False)

        self.exitText = OnscreenText(parent=base.credits2d,
                                     font=CIGlobals.getToonFont(),
                                     fg=(1.0, 0, 0, 1.0),
                                     shadow=(0, 0, 0, 1),
                                     scale=0.085,
                                     pos=(0, -0.96, 0),
                                     text='Press any key to exit')
        self.exitText.hide()
        self.exitText.setBin("gui-popup", 63)
        self.exitText.setDepthWrite(False)
        self.exitText.setTransparency(True)

        self.creditsAudioMgr = AudioManager.createAudioManager()
        self.creditsAudioMgr.setVolume(0.65)
        self.bgm = self.creditsAudioMgr.getSound(
            'phase_4/audio/bgm/new_years_fireworks_music.ogg')
Ejemplo n.º 7
0
    def __init__(self):

        self.enabled = True

        sMgr = CIGlobals.getSettingsMgr()
        reso = sMgr.ReflectionQuality[sMgr.getSetting("refl").getValue()]
        if reso == 0:
            self.enabled = False
            return

        self.waterPlaneNP = None

        self.waterNodes = []

        # Buffer and reflection camera
        buffer = base.win.makeTextureBuffer('waterBuffer', reso, reso)
        buffer.setClearColor(Vec4(0, 0, 0, 1))

        cfa = CullFaceAttrib.makeReverse()
        rs = RenderState.make(cfa)

        self.watercamNP = base.makeCamera(buffer)
        self.watercamNP.reparentTo(render)

        self.makePlane(0.0)

        cam = self.watercamNP.node()
        cam.getLens().setFov(base.camLens.getFov())
        cam.getLens().setNear(1)
        cam.getLens().setFar(5000)
        cam.setInitialState(rs)
        cam.setTagStateKey('Clipped')

        self.ts0 = TextureStage("tex_0")
        self.tex0 = buffer.getTexture()
        self.tex0.setWrapU(Texture.WMClamp)
        self.tex0.setWrapV(Texture.WMClamp)

        self.ts1 = TextureStage("tex_1")
        self.waterTex = loader.loadTexture('phase_3/maps/water_distort.png')
        self.waterQuad = None

        self.waterStage = TextureStage("waterStage")

        image0 = OnscreenImage(image=self.tex0, scale=0.3, pos=(-0.5, 0, 0.7))
        image1 = OnscreenImage(image=waterTex, scale=0.3, pos=(0.5, 0, 0.7))

        taskMgr.add(self.update, "waterTask")
 def setSlotImage(self, gagImage):
     if self.gagImage:
         self.gagImage.destroy()
         self.gagImage = None
     self.gagImage = OnscreenImage(image=gagImage, parent=self)
     self.gagImage.setTransparency(TransparencyAttrib.MAlpha)
     return
Ejemplo n.º 9
0
    def __init__(self, track, gagId):
        self.track = track
        self.gagId = gagId
        self.gagName = base.cr.attackMgr.getAttackName(gagId)

        self.lastScale = 1.0
        self.goalScale = 1.0
        self.scaleLerpTask = taskMgr.add(self.__scaleLerp, "scaleLerp")

        self.locked = False

        DirectButton.__init__(self, scale = 1, relief = None, pressEffect = False,
                              rolloverSound = None, clickSound = None,
                              command = self.track.gsg.selectCurrentGag)
        self['image'] = 'phase_14/maps/gag_box.png'
        self['image_scale'] = (0.115, 0, 0.114)
        self.bind(DGG.ENTER, self.mouseEnter)
        self.bind(DGG.EXIT, self.mouseExit)

        self.lockedImg = OnscreenImage(image = 'phase_14/maps/lock.png', scale = (0.061, 0, 0.089),
                                       parent = self, color = (1, 1, 1, 0.5))

        invIcons = loader.loadModel("phase_3.5/models/gui/inventory_icons.bam")
        self.gagImg = OnscreenGeom(geom = invIcons.find(GagGlobals.InventoryIconByName[self.gagName]),
                                   scale = 0.85, parent = self)
        invIcons.removeNode()
        del invIcons

        self.initialiseoptions(GagWidget)
Ejemplo n.º 10
0
 def makeGui(self):
     self.destroyGui()
     self.guiFrame = DirectFrame(parent = base.a2dBottomRight, pos=(-0.55, 0, 0.15))
     self.guiBg = OnscreenImage(image = "phase_4/maps/turret_gui_bg.png", scale = (0.15, 0, 0.075), parent = self.guiFrame)
     self.guiBg.setTransparency(True)
     self.guiLabel = DirectLabel(text = "Turret", text_fg = (1, 0, 0, 1), relief = None, text_scale = 0.05, text_font = loader.loadFont("phase_3/models/fonts/ImpressBT.ttf"), pos = (0, 0, 0.025), parent = self.guiFrame)
     self.guiBar = DirectWaitBar(range = self.myTurret.getMaxHealth(), value = self.myTurret.getHealth(), scale = 0.125, parent = self.guiFrame, pos = (0, 0, -0.01))
Ejemplo n.º 11
0
 def load(self):
     font = CIGlobals.getToonFont()
     box = DGG.getDefaultDialogGeom()
     self.finalScoreContainer = DirectFrame()
     self.finalScoreBg = OnscreenImage(image=box,
                                       color=(1, 1, 0.75, 1),
                                       scale=(1.9, 1.4, 1.4),
                                       parent=self.finalScoreContainer)
     self.finalScoreTitle = OnscreenText(text="Waiting for final scores...",
                                         pos=(0, 0.5, 0),
                                         font=font,
                                         scale=(0.12),
                                         parent=self.finalScoreContainer)
     self.finalScoreNameLbl = OnscreenText(text="",
                                           scale=0.095,
                                           pos=(-0.85, 0.3, 0),
                                           font=font,
                                           align=TextNode.ALeft,
                                           parent=self.finalScoreContainer)
     self.finalScorePointLbl = OnscreenText(text="",
                                            scale=0.095,
                                            pos=(0.85, 0.3, 0),
                                            font=font,
                                            align=TextNode.ARight,
                                            parent=self.finalScoreContainer)
     self.finalScoreContainer.hide()
     self.finalScoreContainer.setBin('gui-popup', 60)
     del font
     del box
Ejemplo n.º 12
0
    def start(self):
        self.fullyChargedSound = base.loadSfx('phase_4/audio/sfx/ring_get.ogg')
        self.rechargeSound = base.loadSfx(
            'phase_4/audio/sfx/MG_sfx_travel_game_blue_arrow.ogg')
        self.batteryFrame = DirectFrame(parent=base.a2dBottomRight,
                                        pos=(-0.2, 0, 0.1),
                                        scale=(0.8, 0, 1))
        self.batteryBg = OnscreenImage(
            image='phase_4/maps/battery_charge_frame.png',
            parent=self.batteryFrame)
        self.batteryBg.setTransparency(1)
        self.batteryBg.setX(0.03)
        self.batteryBg.setScale(0.17, 0, 0.05)
        self.batteryBg.setColorScale(0, 0, 0, 1)
        self.batteryBar = DirectWaitBar(value=0,
                                        range=5,
                                        barColor=(1, 1, 1, 1),
                                        relief=None,
                                        scale=(0.12, 0.0, 0.3),
                                        parent=self.batteryFrame)

        self.viewfinder = Viewfinder(1.0)

        base.localAvatar.walkControls.setWalkSpeed(CIGlobals.ToonForwardSpeed,
                                                   0.0,
                                                   CIGlobals.ToonReverseSpeed,
                                                   CIGlobals.ToonRotateSpeed)
        FirstPerson.start(self)
 def __init__(self):
     DirectFrame.__init__(self,
                          parent=base.a2dTopLeft,
                          relief=None,
                          pos=(0.275, 1, -0.7),
                          sortOrder=0)
     self.pointsSfx = loader.loadSfx('phase_4/audio/sfx/MG_maze_pickup.ogg')
     self.points = 0
     gui = loader.loadModel('phase_4/models/gui/purchase_gui.bam')
     panel = gui.find('**/yellowPanel')
     self.bg = OnscreenImage(image=panel, parent=self)
     self.title = OnscreenText(text='Capture Points',
                               font=CIGlobals.getMinnieFont(),
                               parent=self,
                               scale=0.0475,
                               pos=(0, 0.18),
                               fg=(1, 0, 0, 1),
                               shadow=(0.2, 0.2, 0.2, 1))
     self.amt_label = OnscreenText(text=str(self.points),
                                   font=CIGlobals.getToonFont(),
                                   parent=self,
                                   scale=0.15,
                                   pos=(0, 0.03525),
                                   shadow=(0.5, 0.5, 0.5, 0.6))
     self.info = OnscreenText(
         text=
         'First Toon to 100 points wins!\nEarn points by standing on the\nhill after capturing it.',
         parent=self,
         font=CIGlobals.getToonFont(),
         scale=0.035,
         pos=(0, -0.05),
         fg=(1.5, 0, 0, 1),
         shadow=(0.2, 0.2, 0.2, 1))
     self.hide()
     return
 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
def getCrosshair(scale=0.04, color=(1, 1, 1, 1), hidden=True):
    crosshair = OnscreenImage(image="phase_4/maps/crosshair.png",
                              scale=scale,
                              color=color)
    crosshair.setTransparency(True)
    if hidden:
        crosshair.hide()
    return crosshair
Ejemplo n.º 16
0
    def createEnviroment(self):
        # Fog to hide performance tweak:
        colour = (0.5, 0.5, 0.5)
        expfog = Fog("scene-wide-fog")
        expfog.setColor(*colour)
        expfog.setExpDensity(0.002)
        self.render.setFog(expfog)
        base.setBackgroundColor(*colour)

        # Our sky
        skydome = self.loader.loadModel('blue-sky-sphere')
        skydome.setEffect(CompassEffect.make(self.render))
        skydome.setScale(0.08)  # bit less than "far"

        # NOT render - you`ll fly through the sky!:
        skydome.reparentTo(self.camera)

        # Our lighting
        ambientLight = AmbientLight("ambientLight")
        ambientLight.setColor(Vec4(.6, .6, .6, 1))
        render.setLight(render.attachNewNode(ambientLight))

        directionalLight = DirectionalLight("directionalLight")
        directionalLight.setColor(Vec4(0.8, 0.8, 0.5, 1))
        dlnp = self.render.attachNewNode(directionalLight)
        dlnp.setPos(0, 0, 260)
        dlnp.lookAt(self.player)
        self.render.setLight(dlnp)

        self.render2d = render2d

        # image scale of 1 fills screen, position defaults to central
        Scale = 1.0 / 2.5  # decimal point is VITAL
        self.radar = OnscreenImage(image='radar.png', scale=Scale, \
                                parent=self.render2d, pos=(-0.95,0,-0.95))
        self.radar.setTransparency(TransparencyAttrib.MAlpha)
        # note the image itself and how it is centered

        hud = OnscreenImage(image='hud1.png', scale=1, \
                                parent=self.render2d, pos=(0,0,0))
        hud.setTransparency(TransparencyAttrib.MAlpha)
        self.dots = list()
        self.playerobj = OnscreenImage(image='playerdot.png', \
                                       scale=1.0/20.0,parent=self.radar)
        self.playerobj.setTransparency(TransparencyAttrib.MAlpha)
Ejemplo n.º 17
0
 def __init__(self):
     NodePath.__init__(self, 'waterBar')
     
     self.range = 100
     self.value = 100
     
     self.back = OnscreenImage("phase_14/maps/backv2.png", scale = (0.289, 1, 0.813), parent = self)
     self.bar = OnscreenImage("phase_14/maps/frontv2.png", scale = (0.233, 1, 0.740), parent = self)
     self.setTransparency(1)
     
     barSh = loader.loadShader("shaders/progress_bar.sha")
     self.bar.setShader(barSh)
     self.bar.setShaderInput("tex", loader.loadTexture("phase_14/maps/frontv2.png"))
     self.bar.setShaderInput("perct", float(self.value) / float(self.range))
     self.bar.setShaderInput("dir", 0)
     self.bar.setShaderInput("alpha", 1.0)
     
     self.task = taskMgr.add(self.__update, "WaterBar.update")
Ejemplo n.º 18
0
 def createGui(self):
     self.deleteGui()
     self.root = base.a2dBottomLeft.attachNewNode('moneyroot')
     self.root.setScale(0.8)
     self.root.setBin('gui-popup', 60)
     self.frame = DirectFrame(parent=self.root, pos=(0.43, 0, 0.16))
     gui = loader.loadModel("phase_3.5/models/gui/jar_gui.bam")
     self.jar = OnscreenImage(image=gui, scale=0.5, parent=self.frame)
     mf = loader.loadFont("phase_3/models/fonts/MickeyFont.bam")
     self.money_lbl = DirectLabel(text="", text_font=mf, text_fg=(1,1,0,1), parent=self.jar, text_scale=0.2, relief=None, pos=(0, 0, -0.1))
     gui.remove_node()
 def __init__(self):
     ShowBase.__init__(self)
     depth = Texture("depth")
     depth.setWrapU(Texture.WMClamp)
     depth.setWrapV(Texture.WMClamp)
     self.fmgr = FilterManager(self.win, self.cam)
     depthQuad = self.fmgr.renderQuadInto(depthtex=depth)
     #depthQuad.hide()
     smiley = loader.loadModel("models/smiley.egg.pz")
     smiley.reparentTo(render)
     img = OnscreenImage(image=depth, scale=0.3, pos=(0, 0, -0.7))
Ejemplo n.º 20
0
    def updateCardToFollowGui(self):
        self.deleteCardToFollowGui()
        if self.unoGame.cardToFollow[-2:] == str(UGG.CARD_BLUE):
            self.cardToFollowGui = OnscreenImage(
                image=self.getCard('mg_uno_numcards_blue_blank'),
                parent=base.a2dRightCenter)
        elif self.unoGame.cardToFollow[-2:] == str(UGG.CARD_RED):
            self.cardToFollowGui = OnscreenImage(
                image=self.getCard('mg_uno_numcards_red_blank'),
                parent=base.a2dRightCenter)
        elif self.unoGame.cardToFollow[-2:] == str(UGG.CARD_GREEN):
            self.cardToFollowGui = OnscreenImage(
                image=self.getCard('mg_uno_numcards_green_blank'),
                parent=base.a2dRightCenter)
        elif self.unoGame.cardToFollow[-2:] == str(UGG.CARD_YELLOW):
            self.cardToFollowGui = OnscreenImage(
                image=self.getCard('mg_uno_numcards_yellow_blank'),
                parent=base.a2dRightCenter)

        if self.cardToFollowGui:
            self.cardToFollowGui.setScale(0.25, 0.3, 0.3)
            self.cardToFollowGui.setPos(-0.175, 0, -0.75)
 def load(self):
     self.unload()
     timer = loader.loadModel("phase_3.5/models/gui/clock_gui.bam")
     self.timer = OnscreenImage(image=timer.find('**/alarm_clock'),
                                parent=self)
     self.timeLbl = DirectLabel(text="0",
                                parent=self,
                                text_scale=0.3,
                                text_pos=(-0.05, -0.13),
                                text_fg=(0, 0, 0, 1),
                                relief=None,
                                text_align=TextNode.ACenter)
     timer.removeNode()
     del timer
 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
Ejemplo n.º 23
0
def getLogoImage(parent = None, size = 1, pos = (0, 0, 0)):
    from direct.gui.DirectGui import OnscreenImage

    if not parent:
        parent = aspect2d

    logo = loader.loadTexture("phase_3/maps/CogInvasion_Logo.png")
    logoNode = parent.attachNewNode('logoNode')
    logoNode.setScale(size)
    logoNode.setPos(pos)
    factor = 0.315
    logoImg = OnscreenImage(image = logo, scale = (1.920 * factor, 0, 1.080 * factor), parent = logoNode)
    logoImg.setTransparency(1)

    return [logoNode, logoImg]
 def createGui(self):
     self.deleteGui()
     self.frame = DirectFrame(parent=base.a2dBottomLeft,
                              pos=(0.45, 0, 0.155))
     gui = loader.loadModel("phase_3.5/models/gui/jar_gui.bam")
     self.jar = OnscreenImage(image=gui, scale=0.5, parent=self.frame)
     mf = loader.loadFont("phase_3/models/fonts/MickeyFont.bam")
     self.money_lbl = DirectLabel(text="",
                                  text_font=mf,
                                  text_fg=(1, 1, 0, 1),
                                  parent=self.jar,
                                  text_scale=0.2,
                                  relief=None,
                                  pos=(0, 0, -0.1))
     gui.remove_node()
Ejemplo n.º 25
0
    def __init__(self, doneCallback):
        self.cioimg = OnscreenImage(
            image='materials/engine/coginvasiononline.png')
        self.cioimg.hide()
        self.cioimg.setColorScale(0, 0, 0, 1)
        self.pandaimg = OnscreenImage(
            image='materials/engine/powered_by_panda3d.png')
        self.pandaimg.hide()
        self.pandaimg.setColorScale(0, 0, 0, 1)
        self.discimg = OnscreenImage(image='materials/engine/disclaimer.png')
        self.discimg.hide()
        self.discimg.setColorScale(0, 0, 0, 1)

        self.doneCallback = doneCallback

        self.splashIval = Sequence(
            Func(self.cioimg.show), Wait(1.0),
            Func(base.playMusic, "encntr_suit_HQ_nbrhood"),
            LerpColorScaleInterval(self.cioimg, 1.0, (1, 1, 1, 1),
                                   (0, 0, 0, 1)), Wait(3),
            LerpColorScaleInterval(self.cioimg, 1.0, (0, 0, 0, 1),
                                   (1, 1, 1, 1)), Func(self.cioimg.hide),
            Func(self.pandaimg.show),
            LerpColorScaleInterval(self.pandaimg, 1.0, (1, 1, 1, 1),
                                   (0, 0, 0, 1)), Wait(1.0),
            LerpColorScaleInterval(self.pandaimg, 1.0, (0, 0, 0, 1),
                                   (1, 1, 1, 1)), Func(self.pandaimg.hide),
            Func(self.discimg.show),
            LerpColorScaleInterval(self.discimg, 1.0, (1, 1, 1, 1),
                                   (0, 0, 0, 1)), Wait(3.5),
            LerpColorScaleInterval(self.discimg, 1.0, (0, 0, 0, 1),
                                   (1, 1, 1, 1)), Func(self.discimg.hide),
            Func(self.cleanup), Func(self.doneCallback))
        self.splashIval.start()

        base.accept('space', self.splashIval.finish)
Ejemplo n.º 26
0
    def __init__(self, viewport):
        DocObject.__init__(self, viewport.doc)

        self.viewport = viewport

        self.enabled = False
        self.mouseSensitivity = 0.3
        self.cameraSpeed = 500 / 16.0
        self.timeToSpeed = 0.5  # seconds
        self.moveStart = 0.0
        self.cameraRotateSpeed = 75.0
        self.cameraSmooth = 0.7
        self.slideFactor = 0.75
        self.maxPitch = 90
        self.minPitch = -90
        self.diagonalFactor = math.sqrt(2.0) / 2.0
        self.lastSpeeds = Vec3(0)
        self.moving = False

        self.cursor = QtGui.QCursor()
        self.cursor.setShape(QtCore.Qt.BlankCursor)

        tex = base.loader.loadTexture('icons/editor-crosshair.png')
        tex.setMinfilter(SamplerState.FTLinear)
        tex.setMagfilter(SamplerState.FTLinear)
        crosshair = OnscreenImage(tex)
        crosshair.setTransparency(True)
        crosshair.setScale(0.04)
        crosshair.reparentTo(NodePath())
        self.crosshair = crosshair

        self.inputState = {}

        self.addInput("forward", KeyBind.Forward3DView)
        self.addInput("reverse", KeyBind.Back3DView)
        self.addInput("slideLeft", KeyBind.Left3DView)
        self.addInput("slideRight", KeyBind.Right3DView)
        self.addInput("floatDown", KeyBind.Down3DView)
        self.addInput("floatUp", KeyBind.Up3DView)
        self.addInput("lookUp", KeyBind.LookUp3DView)
        self.addInput("lookDown", KeyBind.LookDown3DView)
        self.addInput("lookRight", KeyBind.LookRight3DView)
        self.addInput("lookLeft", KeyBind.LookLeft3DView)

        self.accept(KeyBinds.getPandaShortcut(KeyBind.FlyCam), self.handleZ)

        self.doc.taskMgr.add(self.__flyCamTask, 'flyCam')
    def __init__(self):
        # Let's load up the DirectFrame
        DirectFrame.__init__(self,
                             parent=base.a2dTopLeft,
                             relief=None,
                             pos=(0.275, 1, -0.7),
                             sortOrder=0)

        # The variables we're going to be using.
        self.pointsSfx = loader.loadSfx('phase_4/audio/sfx/MG_maze_pickup.ogg')
        self.points = 0

        # Background because it won't work for whatever reason.
        gui = loader.loadModel('phase_4/models/gui/purchase_gui.bam')
        panel = gui.find('**/yellowPanel')
        self.bg = OnscreenImage(image=panel, parent=self)

        # Let's setup the header text.
        self.title = OnscreenText(text='Capture Points',
                                  font=CIGlobals.getMinnieFont(),
                                  parent=self,
                                  scale=0.0475,
                                  pos=(0, 0.18),
                                  fg=(1, 0, 0, 1),
                                  shadow=(0.2, 0.2, 0.2, 1))

        # Let's setup the amount text.
        self.amt_label = OnscreenText(text=str(self.points),
                                      font=CIGlobals.getToonFont(),
                                      parent=self,
                                      scale=0.15,
                                      pos=(0, 0.03525),
                                      shadow=(0.5, 0.5, 0.5, 0.6))

        # Let's setup the info text.
        self.info = OnscreenText(
            text=
            'First Toon to 100 points wins!\nEarn points by standing on the\nhill after capturing it.',
            parent=self,
            font=CIGlobals.getToonFont(),
            scale=0.035,
            pos=(0, -0.05),
            fg=(1.5, 0, 0, 1),
            shadow=(0.2, 0.2, 0.2, 1))

        # We're not ready to show the GUI yet.
        self.hide()
Ejemplo n.º 28
0
    def goto_home(self):
        self.soft_destroy()

        LerpPosHprInterval(base.camera, 0.35, Point3(0, 0, 0),
                           Point3(0, 0, 0)).start()

        logo = OnscreenImage(image=loader.loadTexture('mainmenu/logo.png'),
                             pos=(0, 0, 0.625),
                             scale=(1, 1, 0.4))
        logo.setTransparency(TransparencyAttrib.MAlpha)

        exit_button = DirectButton(
            geom=(self.sprites.find('**/mm-exit-ready'),
                  self.sprites.find('**/mm-exit-click'),
                  self.sprites.find('**/mm-exit-hover'),
                  self.sprites.find('**/mm-exit-disabled')),
            relief=None,
            geom_scale=(0.666, 0, 0.25),
            geom_pos=(0, 0, -0.75),
            command=self.level_holder.exit_game)
        settings_button = DirectButton(
            geom=(self.sprites.find('**/mm-settings-ready'),
                  self.sprites.find('**/mm-settings-click'),
                  self.sprites.find('**/mm-settings-hover'),
                  self.sprites.find('**/mm-settings-disabled')),
            relief=None,
            geom_scale=(0.666, 0, 0.25),
            geom_pos=(0, 0, -0.4),
            command=self.goto_settings)
        play_button = DirectButton(
            geom=(self.sprites.find('**/mm-play-ready'),
                  self.sprites.find('**/mm-play-click'),
                  self.sprites.find('**/mm-play-hover'),
                  self.sprites.find('**/mm-play-disabled')),
            relief=None,
            geom_scale=(1, 0, 0.3),
            geom_pos=(0, 0, 0.1),
            command=self.goto_play)

        if not self.level_holder.check_connection():
            play_button["state"] = DGG.DISABLED

        self.images["img_logo"] = logo
        self.gui["btn_exit"] = exit_button
        self.gui["btn_settings"] = settings_button
        self.gui["btn_play"] = play_button
Ejemplo n.º 29
0
    def __init__(self, damagePos):
        NodePath.__init__(self, 'dir-damage-indicator')
        self.reparentTo(aspect2d)
        self.damagePos = damagePos
        self.task = taskMgr.add(self.__update, 'ddi-update')
        self.img = OnscreenImage(image='materials/ui/damage_indicator.png',
                                 parent=self)
        self.setTransparency(True)
        self.setColorScale((1, 1, 1, 0.5))
        self.setScale(0.25)
        self.time = globalClock.getFrameTime()

        self.track = Sequence(
            Wait(1.5),
            LerpColorScaleInterval(self, 0.5, (1, 1, 1, 0), (1, 1, 1, 0.5)),
            Func(self.removeNode))
        self.track.start()

        DDIByPos[self.damagePos] = self
 def updateTurretCount(self):
     if self.turretLabel:
         self.turretLabel.destroy()
     if self.wantTurretCount:
         maxTurrets = CogBattleGlobals.MAX_TURRETS
         if not self.turretImg:
             self.turretImg = OnscreenImage(
                 image='phase_3.5/maps/cannon-icon.png',
                 scale=(0.05, 1, 0.05),
                 pos=(-0.22, 0, 0.275))
             self.turretImg.setTransparency(TransparencyAttrib.MAlpha)
         self.turretLabel = DirectLabel(
             text='Turrets: %s/%s' %
             (str(self.turretCount), str(maxTurrets)),
             relief=None,
             text_scale=0.07,
             text_fg=(0, 0, 0, 1),
             text_shadow=(0, 0, 0, 0),
             pos=(0, 0, 0.265))
     return