def _initVisuals(self):
     RepairMincroGame._initVisuals(self)
     self.model = loader.loadModel('models/gui/pir_m_gui_srp_bracing_main')
     self.background = self.model.find('**/background')
     self.background.reparentTo(self)
     self.background.setZ(0.17499999999999999)
     self.gridParent = self.attachNewNode('gridParent')
     self.grid = []
     for xpos in range(GRID_SIZE):
         col = []
         for ypos in range(GRID_SIZE):
             allWoodSquaresGeom = NodePath('wood_squares')
             for i in range(self.model.find('**/wood_squares').getNumChildren()):
                 self.model.find('**/wood_squares').getChild(i).copyTo(allWoodSquaresGeom)
             
             tempGeom = NodePath('tempGeom')
             self.model.find('**/wood_squares').getChild(0).copyTo(tempGeom)
             selectedOutlineGeom = NodePath('selectedOutlineGeom')
             self.model.find('**/selected').copyTo(selectedOutlineGeom)
             selectedOutlineGeom.setScale(0.90000000000000002)
             piece = RepairGridPiece(name = 'piece%i' % (xpos * GRID_SIZE + ypos), parent = self.gridParent, allWoodSquaresGeom = allWoodSquaresGeom, selectedOutlineGeom = selectedOutlineGeom, scale = (0.90000000000000002, 0.90000000000000002, 0.90000000000000002), pos = (-0.22 + xpos * SPACING, 0.0, -0.029999999999999999 + ypos * SPACING), command = self.onPiecePressed, location = [
                 xpos,
                 ypos], clickSound = None, pressEffect = 0, geom = tempGeom, relief = None)
             col.append(piece)
         
         self.grid.append(col)
     
     self.createGoalPieces()
    def _initVisuals(self):
        RepairMincroGame._initVisuals(self)
        self.model = loader.loadModel('models/gui/pir_m_gui_srp_bracing_main')
        self.background = self.model.find('**/background')
        self.background.reparentTo(self)
        self.background.setZ(0.175)
        self.gridParent = self.attachNewNode('gridParent')
        self.grid = []
        for xpos in range(GRID_SIZE):
            col = []
            for ypos in range(GRID_SIZE):
                allWoodSquaresGeom = NodePath('wood_squares')
                for i in range(self.model.find('**/wood_squares').getNumChildren()):
                    self.model.find('**/wood_squares').getChild(i).copyTo(allWoodSquaresGeom)

                tempGeom = NodePath('tempGeom')
                self.model.find('**/wood_squares').getChild(0).copyTo(tempGeom)
                selectedOutlineGeom = NodePath('selectedOutlineGeom')
                self.model.find('**/selected').copyTo(selectedOutlineGeom)
                selectedOutlineGeom.setScale(0.9)
                piece = RepairGridPiece(name='piece%i' % (xpos * GRID_SIZE + ypos), parent=self.gridParent, allWoodSquaresGeom=allWoodSquaresGeom, selectedOutlineGeom=selectedOutlineGeom, scale=(0.9,
                                                                                                                                                                                                   0.9,
                                                                                                                                                                                                   0.9), pos=(-0.22 + xpos * SPACING, 0.0, -0.03 + ypos * SPACING), command=self.onPiecePressed, location=[xpos, ypos], clickSound=None, pressEffect=0, geom=tempGeom, relief=None)
                col.append(piece)

            self.grid.append(col)

        self.createGoalPieces()
        return
 def _initVisuals(self):
     RepairMincroGame._initVisuals(self)
     self.model = loader.loadModel('models/gui/pir_m_gui_srp_hammering_main')
     self.board = self.model.find('**/wood')
     self.board.reparentTo(self)
     self.board.setPos(-0.02, -2.0, 0.080000000000000002)
     self.board.setScale(1.3)
     self.board.setDepthTest(True)
     self.board.setDepthWrite(True)
     self.hammerSwinging = False
     self.nailParent = self.attachNewNode('nailParent')
     self.nails = []
     for i in range(self.config.nailCountRange[1]):
         nailModel = self.model.find('**/nail').copyTo(NodePath())
         nail = RepairNail(name = 'nail%i' % i, parent = self.nailParent, nailModel = nailModel)
         self.nails.append(nail)
     
     self.circle = aspect2d.attachNewNode('circle')
     self.circle.setHpr(0.0, 0.0, 0.0)
     self.circle.setZ(0.20000000000000001)
     self.reticleCursorPerfect = self.model.find('**/reticleCursorPerfect')
     self.reticleCursorPerfect.reparentTo(self.circle)
     self.reticleCursor = self.model.find('**/reticleCursor')
     self.reticleCursor.reparentTo(self.circle)
     self.hammer = self.model.find('**/hammerCursor')
     self.hammer.reparentTo(aspect2d)
     self.circle.stash()
     self.hammer.stash()
 def _initVisuals(self):
     RepairMincroGame._initVisuals(self)
     self.setBin('fixed', 36)
     self.model = loader.loadModel('models/gui/pir_m_gui_srp_sawing_main')
     sawModel = self.model.find('**/saw')
     sawModel.setR(193)
     sawModel.setPos(0.9, 0.0, -0.165)
     sawModel.setBin('gui-popup', 0)
     self.sawButton = RepairSaw(parent=self,
                                clickDownCommand=self.sawAttachedToMouse,
                                clickUpCommand=self.sawRemovedFromMouse,
                                geom=sawModel,
                                text_pos=(0.2, -0.3),
                                text_fg=(1, 0, 0, 1),
                                scale=(0.3, 0.3, 0.3),
                                relief=None,
                                pressEffect=0,
                                frameSize=(-0.05, 1.05, -0.3, 0.05),
                                rolloverSound=None,
                                clickSound=None)
     self.sawingLine = RepairSawingLine(self,
                                        self.config.sawlineLineThickness,
                                        self.config.sawlineColor,
                                        self.config.sawlineLinespawnDist)
     self.progressDescriptionLabel = DirectLabel(
         text=PLocalizer.Minigame_Repair_Sawing_Description,
         text_fg=(1.0, 1.0, 1.0, 1.0),
         text_pos=(0.0, 0.0),
         text_shadow=(0.0, 0.0, 0.0, 1.0),
         text_font=PiratesGlobals.getPirateFont(),
         text_align=TextNode.ARight,
         relief=None,
         scale=(0.08, 0.08, 0.08),
         pos=(-0.2, 0.0, 0.5),
         parent=self)
     self.progressLabel = DirectLabel(
         text=PLocalizer.Minigame_Repair_Sawing_Thresholds[3],
         text_fg=(1.0, 1.0, 1.0, 1.0),
         text_pos=(0.0, 0.0),
         text_shadow=(0.0, 0.0, 0.0, 1.0),
         text_font=PiratesGlobals.getPirateFont(),
         text_align=TextNode.ALeft,
         relief=None,
         scale=(0.08, 0.08, 0.08),
         pos=(-0.18, 0.0, 0.5),
         parent=self)
     self.boardDestroyedLabel = DirectLabel(
         text=PLocalizer.Minigame_Repair_Sawing_Board_Destroyed,
         text_fg=(1.0, 0.0, 0.0, 1.0),
         text_pos=(0.0, 0.0),
         text_font=PiratesGlobals.getPirateFont(),
         text_shadow=(0.0, 0.0, 0.0, 1.0),
         relief=None,
         scale=(0.1, 0.1, 0.1),
         pos=(0.0, 0.0, 0.1),
         parent=self)
     self.boardDestroyedLabel.setBin('fixed', 38)
     self.boardDestroyedLabel.stash()
     return
Beispiel #5
0
    def _initVisuals(self):
        RepairMincroGame._initVisuals(self)
        self.model = loader.loadModel(
            'models/gui/pir_m_gui_srp_careening_main')
        self.board = self.model.find('**/hull')
        self.board.reparentTo(self)
        self.board.setScale(1.0)
        self.board.setPos(-0.12, 0.0, 0.19)
        self.brush = self.model.find('**/brushCursor')
        self.brush.reparentTo(aspect2d)
        self.brush.stash()
        barnacleGeom = [
            self.model.find('**/barnacles/barnacle0'),
            self.model.find('**/barnacles/barnacle1'),
            self.model.find('**/barnacles/barnacle2')
        ]
        self.barnacles = []
        for i in range(self.config.barnacleCountRange[1]):
            bGeom = barnacleGeom[random.randint(0, 1)].copyTo(
                NodePath('barnacle%i' % i))
            bGeom.setBin('fixed', 36)
            if random.random() < self.config.mossPercentage:
                mGeom = barnacleGeom[2].copyTo(NodePath('moss'))
                mGeom.reparentTo(bGeom)
                mGeom.setPos(random.uniform(0,
                                            self.config.mossPosVariance), 0.0,
                             random.uniform(0, self.config.mossPosVariance))
                mGeom.setBin('fixed', 35)

            b = RepairBarnacle('barnacle%i' % i, bGeom)
            b.reparentTo(self)
            self.barnacles.append(b)
            b.stash()

        self.scrubPowerMeter = self.model.find('**/scrubMeter')
        self.scrubMeterBackground = self.model.find('**/scrubMeterBackground')
        self.scrubMeterBackground.setBin('fixed', 32)
        self.scrubMeterBar = self.model.find('**/scrubMeterBar')
        self.scrubMeterBar.setBin('fixed', 33)
        self.scrubMeterFrame = self.model.find('**/scrubMeterFrame')
        self.scrubMeterFrame.setBin('fixed', 34)
        self.scrubPowerMeter.reparentTo(self)
        self.scrubPowerMeter.setPos(0.68000000000000005, 0.0,
                                    0.20000000000000001)
        self.scrubPowerMeter.setSz(1.25)
        self.pushLabel = DirectLabel(
            text=PLocalizer.Minigame_Repair_Careening_Power,
            pos=(0.68000000000000005, 0.0, -0.27000000000000002),
            text_fg=(1.0, 1.0, 1.0, 1.0),
            text_shadow=(0.0, 0.0, 0.0, 1.0),
            text_font=PiratesGlobals.getPirateFont(),
            scale=(0.080000000000000002, 0.080000000000000002,
                   0.080000000000000002),
            parent=self,
            relief=None)
Beispiel #6
0
 def _initVisuals(self):
     RepairMincroGame._initVisuals(self)
     self.model = loader.loadModel('models/gui/pir_m_gui_srp_pumping_main')
     self.visual = self.attachNewNode('visual')
     self.visual.setPos(-0.25, 0.0, 0.074999999999999997)
     goalTopLoc = self.model.find('**/locator_top')
     goalTopLoc.reparentTo(self.visual)
     goalBottomLoc = self.model.find('**/locator_bottom')
     goalBottomLoc.reparentTo(self.visual)
     self.goalPositions = (goalBottomLoc.getPos(self), goalTopLoc.getPos(self))
     self.greatLabel = DirectLabel(text = PLocalizer.Minigame_Repair_Pumping_Great, text_fg = (0.20000000000000001, 0.80000000000000004, 0.29999999999999999, 1.0), text_pos = (0.0, 0.59999999999999998), text_align = TextNode.ACenter, text_font = PiratesGlobals.getPirateFont(), relief = None, text_shadow = (0.0, 0.0, 0.0, 1.0), scale = (0.080000000000000002, 0.080000000000000002, 0.080000000000000002), pos = (-0.46500000000000002, 0.0, 0.0), parent = self)
     self.failLabel = DirectLabel(text = PLocalizer.Minigame_Repair_Pumping_Fail, text_fg = (0.80000000000000004, 0.20000000000000001, 0.29999999999999999, 1.0), text_pos = (0.0, 0.59999999999999998), text_align = TextNode.ARight, text_font = PiratesGlobals.getPirateFont(), text_shadow = (0.0, 0.0, 0.0, 1.0), relief = None, scale = (0.080000000000000002, 0.080000000000000002, 0.080000000000000002), pos = (-0.625, 0.0, 0.0), parent = self)
     self.shipBackground = self.model.find('**/static_ship_background')
     self.shipBackground.reparentTo(self.visual)
     self.waterMeter = self.model.find('**/sprite_waterBottom')
     self.waterMeter.reparentTo(self.visual)
     self.waterTop = self.model.find('**/sprite_waterTop')
     self.waterTop.reparentTo(self.visual)
     self.waterMeterTopLoc = self.waterMeter.find('**/locator_topOfShipWater')
     self.pumpBackground = self.model.find('**/pumpBackground')
     self.pumpBackground.reparentTo(self.visual)
     self.pumpWaterTop = self.model.find('**/sprite_pumpWaterTop')
     self.pumpWaterTop.reparentTo(self.visual)
     self.pumpWaterBottom = self.model.find('**/sprite_pumpWaterBottom')
     self.pumpWaterBottom.reparentTo(self.visual)
     self.pumpWaterTopLoc = self.pumpWaterBottom.find('**/locator_topOfPumpWater')
     self.pumpHandle = self.model.find('**/sprite_handle')
     self.pumpHandle.reparentTo(self.visual)
     self.pumpBar = self.model.find('**/static_pump')
     self.pumpBar.reparentTo(self.visual)
     self.goalBox = self.model.find('**/sprite_clickField')
     self.goalBox.reparentTo(self.visual)
     self.goalBox.setTransparency(1)
     self.enableGoalBox()
     self.pumpLine = self.model.find('**/sprite_bar')
     self.pumpLine.reparentTo(self.visual)
     self.ghostLine = self.visual.attachNewNode('ghostLine')
     self.pumpLine.getChild(0).copyTo(self.ghostLine)
     self.ghostLine.setScale(self.pumpLine.getScale())
     self.ghostLine.setColor(1.0, 0.20000000000000001, 0.20000000000000001, 1.0)
     self.shipForground = self.model.find('**/static_ship_foreground')
     self.shipForground.reparentTo(self.visual)
     cm = CardMaker('cardMaker')
     cm.setFrame(-0.33000000000000002, 0.33000000000000002, 0.0, 1.0)
     self.goalBox.setZ(self.goalPositions[TOP].getZ())
     self.goalBoxStartScale = self.goalBox.getSz()
     self.enableGoalBox()
     self.pumpWaterUpLerp = LerpFunc(self.setPumpWater, fromData = -0.10000000000000001, toData = 1.0, duration = 0.5)
     self.pumpWaterDownLerp = LerpFunc(self.setPumpWater, fromData = 1.0, toData = -0.10000000000000001, duration = 0.5)
     self.model.removeNode()
     del self.model
 def _initVisuals(self):
     RepairMincroGame._initVisuals(self)
     self.model = loader.loadModel('models/gui/pir_m_gui_srp_pumping_main')
     self.visual = self.attachNewNode('visual')
     self.visual.setPos(-0.25, 0.0, 0.074999999999999997)
     goalTopLoc = self.model.find('**/locator_top')
     goalTopLoc.reparentTo(self.visual)
     goalBottomLoc = self.model.find('**/locator_bottom')
     goalBottomLoc.reparentTo(self.visual)
     self.goalPositions = (goalBottomLoc.getPos(self), goalTopLoc.getPos(self))
     self.greatLabel = DirectLabel(text = PLocalizer.Minigame_Repair_Pumping_Great, text_fg = (0.20000000000000001, 0.80000000000000004, 0.29999999999999999, 1.0), text_pos = (0.0, 0.59999999999999998), text_align = TextNode.ACenter, text_font = PiratesGlobals.getPirateFont(), relief = None, text_shadow = (0.0, 0.0, 0.0, 1.0), scale = (0.080000000000000002, 0.080000000000000002, 0.080000000000000002), pos = (-0.46500000000000002, 0.0, 0.0), parent = self)
     self.failLabel = DirectLabel(text = PLocalizer.Minigame_Repair_Pumping_Fail, text_fg = (0.80000000000000004, 0.20000000000000001, 0.29999999999999999, 1.0), text_pos = (0.0, 0.59999999999999998), text_align = TextNode.ARight, text_font = PiratesGlobals.getPirateFont(), text_shadow = (0.0, 0.0, 0.0, 1.0), relief = None, scale = (0.080000000000000002, 0.080000000000000002, 0.080000000000000002), pos = (-0.625, 0.0, 0.0), parent = self)
     self.shipBackground = self.model.find('**/static_ship_background')
     self.shipBackground.reparentTo(self.visual)
     self.waterMeter = self.model.find('**/sprite_waterBottom')
     self.waterMeter.reparentTo(self.visual)
     self.waterTop = self.model.find('**/sprite_waterTop')
     self.waterTop.reparentTo(self.visual)
     self.waterMeterTopLoc = self.waterMeter.find('**/locator_topOfShipWater')
     self.pumpBackground = self.model.find('**/pumpBackground')
     self.pumpBackground.reparentTo(self.visual)
     self.pumpWaterTop = self.model.find('**/sprite_pumpWaterTop')
     self.pumpWaterTop.reparentTo(self.visual)
     self.pumpWaterBottom = self.model.find('**/sprite_pumpWaterBottom')
     self.pumpWaterBottom.reparentTo(self.visual)
     self.pumpWaterTopLoc = self.pumpWaterBottom.find('**/locator_topOfPumpWater')
     self.pumpHandle = self.model.find('**/sprite_handle')
     self.pumpHandle.reparentTo(self.visual)
     self.pumpBar = self.model.find('**/static_pump')
     self.pumpBar.reparentTo(self.visual)
     self.goalBox = self.model.find('**/sprite_clickField')
     self.goalBox.reparentTo(self.visual)
     self.goalBox.setTransparency(1)
     self.enableGoalBox()
     self.pumpLine = self.model.find('**/sprite_bar')
     self.pumpLine.reparentTo(self.visual)
     self.ghostLine = self.visual.attachNewNode('ghostLine')
     self.pumpLine.getChild(0).copyTo(self.ghostLine)
     self.ghostLine.setScale(self.pumpLine.getScale())
     self.ghostLine.setColor(1.0, 0.20000000000000001, 0.20000000000000001, 1.0)
     self.shipForground = self.model.find('**/static_ship_foreground')
     self.shipForground.reparentTo(self.visual)
     cm = CardMaker('cardMaker')
     cm.setFrame(-0.33000000000000002, 0.33000000000000002, 0.0, 1.0)
     self.goalBox.setZ(self.goalPositions[TOP].getZ())
     self.goalBoxStartScale = self.goalBox.getSz()
     self.enableGoalBox()
     self.pumpWaterUpLerp = LerpFunc(self.setPumpWater, fromData = -0.10000000000000001, toData = 1.0, duration = 0.5)
     self.pumpWaterDownLerp = LerpFunc(self.setPumpWater, fromData = 1.0, toData = -0.10000000000000001, duration = 0.5)
     self.model.removeNode()
     del self.model
 def _initVisuals(self):
     RepairMincroGame._initVisuals(self)
     self.setBin('fixed', 36)
     self.model = loader.loadModel('models/gui/pir_m_gui_srp_sawing_main')
     sawModel = self.model.find('**/saw')
     sawModel.setR(193)
     sawModel.setPos(0.90000000000000002, 0.0, -0.16500000000000001)
     sawModel.setBin('gui-popup', 0)
     self.sawButton = RepairSaw(parent = self, clickDownCommand = self.sawAttachedToMouse, clickUpCommand = self.sawRemovedFromMouse, geom = sawModel, text_pos = (0.20000000000000001, -0.29999999999999999), text_fg = (1, 0, 0, 1), scale = (0.29999999999999999, 0.29999999999999999, 0.29999999999999999), relief = None, pressEffect = 0, frameSize = (-0.050000000000000003, 1.05, -0.29999999999999999, 0.050000000000000003), rolloverSound = None, clickSound = None)
     self.sawingLine = RepairSawingLine(self, self.config.sawlineLineThickness, self.config.sawlineColor, self.config.sawlineLinespawnDist)
     self.progressDescriptionLabel = DirectLabel(text = PLocalizer.Minigame_Repair_Sawing_Description, text_fg = (1.0, 1.0, 1.0, 1.0), text_pos = (0.0, 0.0), text_shadow = (0.0, 0.0, 0.0, 1.0), text_font = PiratesGlobals.getPirateFont(), text_align = TextNode.ARight, relief = None, scale = (0.080000000000000002, 0.080000000000000002, 0.080000000000000002), pos = (-0.20000000000000001, 0.0, 0.5), parent = self)
     self.progressLabel = DirectLabel(text = PLocalizer.Minigame_Repair_Sawing_Thresholds[3], text_fg = (1.0, 1.0, 1.0, 1.0), text_pos = (0.0, 0.0), text_shadow = (0.0, 0.0, 0.0, 1.0), text_font = PiratesGlobals.getPirateFont(), text_align = TextNode.ALeft, relief = None, scale = (0.080000000000000002, 0.080000000000000002, 0.080000000000000002), pos = (-0.17999999999999999, 0.0, 0.5), parent = self)
     self.boardDestroyedLabel = DirectLabel(text = PLocalizer.Minigame_Repair_Sawing_Board_Destroyed, text_fg = (1.0, 0.0, 0.0, 1.0), text_pos = (0.0, 0.0), text_font = PiratesGlobals.getPirateFont(), text_shadow = (0.0, 0.0, 0.0, 1.0), relief = None, scale = (0.10000000000000001, 0.10000000000000001, 0.10000000000000001), pos = (0.0, 0.0, 0.10000000000000001), parent = self)
     self.boardDestroyedLabel.setBin('fixed', 38)
     self.boardDestroyedLabel.stash()
 def _initVisuals(self):
     RepairMincroGame._initVisuals(self)
     self.model = loader.loadModel('models/gui/pir_m_gui_srp_careening_main')
     self.board = self.model.find('**/hull')
     self.board.reparentTo(self)
     self.board.setScale(1.0)
     self.board.setPos(-0.12, 0.0, 0.19)
     self.brush = self.model.find('**/brushCursor')
     self.brush.reparentTo(aspect2d)
     self.brush.stash()
     barnacleGeom = [
         self.model.find('**/barnacles/barnacle0'),
         self.model.find('**/barnacles/barnacle1'),
         self.model.find('**/barnacles/barnacle2')]
     self.barnacles = []
     for i in range(self.config.barnacleCountRange[1]):
         bGeom = barnacleGeom[random.randint(0, 1)].copyTo(NodePath('barnacle%i' % i))
         bGeom.setBin('fixed', 36)
         if random.random() < self.config.mossPercentage:
             mGeom = barnacleGeom[2].copyTo(NodePath('moss'))
             mGeom.reparentTo(bGeom)
             mGeom.setPos(random.uniform(0, self.config.mossPosVariance), 0.0, random.uniform(0, self.config.mossPosVariance))
             mGeom.setBin('fixed', 35)
         
         b = RepairBarnacle('barnacle%i' % i, bGeom)
         b.reparentTo(self)
         self.barnacles.append(b)
         b.stash()
     
     self.scrubPowerMeter = self.model.find('**/scrubMeter')
     self.scrubMeterBackground = self.model.find('**/scrubMeterBackground')
     self.scrubMeterBackground.setBin('fixed', 32)
     self.scrubMeterBar = self.model.find('**/scrubMeterBar')
     self.scrubMeterBar.setBin('fixed', 33)
     self.scrubMeterFrame = self.model.find('**/scrubMeterFrame')
     self.scrubMeterFrame.setBin('fixed', 34)
     self.scrubPowerMeter.reparentTo(self)
     self.scrubPowerMeter.setPos(0.68000000000000005, 0.0, 0.20000000000000001)
     self.scrubPowerMeter.setSz(1.25)
     self.pushLabel = DirectLabel(text = PLocalizer.Minigame_Repair_Careening_Power, pos = (0.68000000000000005, 0.0, -0.27000000000000002), text_fg = (1.0, 1.0, 1.0, 1.0), text_shadow = (0.0, 0.0, 0.0, 1.0), text_font = PiratesGlobals.getPirateFont(), scale = (0.080000000000000002, 0.080000000000000002, 0.080000000000000002), parent = self, relief = None)
    def _initVisuals(self):
        RepairMincroGame._initVisuals(self)
        self.model = loader.loadModel('models/gui/pir_m_gui_srp_pitching_main')
        self.board = self.model.find('**/piece_hull')
        self.board.reparentTo(self)
        self.board.setPos(0.0, 0.0, 0.19)
        self.crossHair = self.model.find('**/crosshair')
        self.crossHair.reparentTo(base.a2dBackground)
        self.crossHair.setBin('fixed', 45)
        self.crossHair.setScale(1.0)
        self.crossHair.setColorScale(0.0, 1.0, 0.0, 1.0)
        self.crossHair.stash()
        self.bucketIdle = self.model.find('**/pitchCursor/idle')
        self.bucketIdle.reparentTo(base.a2dBackground)
        self.bucketIdle.setBin('fixed', 45)
        self.bucketIdle.setScale(1.35)
        self.bucketIdle.stash()
        self.bucket = self.bucketIdle.copyTo(NodePath())
        self.bucket.reparentTo(base.a2dBackground)
        self.bucket.setHpr(0, 0, 90)
        self.bucket.setBin('fixed', 45)
        self.bucket.setScale(1.35)
        self.bucket.stash()
        self.missPatch = NodePath('dummy')
        self.missPatchAsset = self.model.find('**/miss')
        self.missPatchAsset.reparentTo(self.missPatch)
        self.missPatch.reparentTo(self)
        self.missPatch.setScale(1.1)
        self.missPatch.stash()
        self.missSeq = None
        index = 1
        while True:
            locator = self.model.find('**/locator_%i' % index)
            if locator.isEmpty():
                break
            self.locators.append(locator)
            index += 1

        return
 def _initVisuals(self):
     RepairMincroGame._initVisuals(self)
     self.model = loader.loadModel('models/gui/pir_m_gui_srp_pitching_main')
     self.board = self.model.find('**/piece_hull')
     self.board.reparentTo(self)
     self.board.setPos(0.0, 0.0, 0.19)
     self.crossHair = self.model.find('**/crosshair')
     self.crossHair.reparentTo(base.a2dBackground)
     self.crossHair.setBin('fixed', 45)
     self.crossHair.setScale(1.0)
     self.crossHair.setColorScale(0.0, 1.0, 0.0, 1.0)
     self.crossHair.stash()
     self.bucketIdle = self.model.find('**/pitchCursor/idle')
     self.bucketIdle.reparentTo(base.a2dBackground)
     self.bucketIdle.setBin('fixed', 45)
     self.bucketIdle.setScale(1.3500000000000001)
     self.bucketIdle.stash()
     self.bucket = self.bucketIdle.copyTo(NodePath())
     self.bucket.reparentTo(base.a2dBackground)
     self.bucket.setHpr(0, 0, 90)
     self.bucket.setBin('fixed', 45)
     self.bucket.setScale(1.3500000000000001)
     self.bucket.stash()
     self.missPatch = NodePath('dummy')
     self.missPatchAsset = self.model.find('**/miss')
     self.missPatchAsset.reparentTo(self.missPatch)
     self.missPatch.reparentTo(self)
     self.missPatch.setScale(1.1000000000000001)
     self.missPatch.stash()
     self.missSeq = None
     index = 1
     while True:
         locator = self.model.find('**/locator_%i' % index)
         if locator.isEmpty():
             break
         
         self.locators.append(locator)
         index += 1