def enterPlay(self):
     DistributedMinigame.enterPlay(self)
     base.localAvatar.attachCamera()
     base.localAvatar.startSmartCamera()
     base.localAvatar.enableAvatarControls()
     base.localAvatar.startTrackAnimToSpeed()
     self.brLabel = OnscreenText(text='', parent=base.a2dTopRight, fg=(1, 1, 1,
                                                                       1), shadow=(0,
                                                                                   0,
                                                                                   0,
                                                                                   1), pos=(-0.1,
                                                                                            -0.1,
                                                                                            0), align=TextNode.ARight)
     self.bdLabel = OnscreenText(text='', parent=base.a2dTopLeft, fg=(1, 1, 1, 1), shadow=(0,
                                                                                           0,
                                                                                           0,
                                                                                           1), pos=(0.1,
                                                                                                    -0.1,
                                                                                                    0), align=TextNode.ALeft)
     self.bsLabel = OnscreenText(text='', parent=base.a2dTopLeft, fg=(1, 1, 1, 1), shadow=(0,
                                                                                           0,
                                                                                           0,
                                                                                           1), pos=(0.1,
                                                                                                    -0.2,
                                                                                                    0), align=TextNode.ALeft)
     self.accept('enterMGDeliveryGagShop', self.__maybeDropOffBarrel)
 def load(self):
     spawn = random.choice(DGG.SpawnPoints)
     base.localAvatar.setPos(spawn)
     base.localAvatar.setHpr(0, 0, 0)
     self.soundPickUpBarrel = base.loadSfx('phase_6/audio/sfx/SZ_MM_gliss.ogg')
     self.soundDropOff = base.loadSfx('phase_4/audio/sfx/MG_sfx_travel_game_bell_for_trolley.ogg')
     self.setMinigameMusic('phase_4/audio/bgm/MG_Delivery.ogg')
     self.setDescription('A new supply of Gags were just shipped to Toontown! ' + 'Run over to a truck with Gag barrels to take a barrel out. Then, carry it over to the Gag Shop. ' + 'Try to unload and deliver as many barrels as you can to the Gag Shop. ' + 'Watch out for the Cogs - they might try to snatch a barrel!')
     self.setWinnerPrize(100)
     self.setLoserPrize(0)
     self.gagShop = loader.loadModel('phase_4/models/modules/gagShop_TT.bam')
     self.gagShop.reparentTo(base.render)
     self.gagShop.setY(-70)
     sphere = CollisionSphere(0, 0, 0, 3)
     sphere.setTangible(0)
     node = CollisionNode('MGDeliveryGagShop')
     node.addSolid(sphere)
     self.gagShopCollNP = self.gagShop.attachNewNode(node)
     self.world = loader.loadModel('phase_4/models/minigames/delivery_area.egg')
     self.world.setY(-5)
     self.world.reparentTo(base.render)
     self.world.find('**/ground').setBin('ground', 18)
     self.sky = loader.loadModel('phase_3.5/models/props/TT_sky.bam')
     self.sky.reparentTo(base.camera)
     ce = CompassEffect.make(NodePath(), CompassEffect.PRot | CompassEffect.PZ)
     self.sky.node().setEffect(ce)
     self.sky.setZ(-20)
     self.skyUtil.startSky(self.sky)
     base.camera.setPos(40, 50, 30)
     base.camera.lookAt(20, 0, 7.5)
     DistributedMinigame.load(self)
 def enterPlay(self):
     DistributedMinigame.enterPlay(self)
     base.localAvatar.attachCamera()
     base.localAvatar.startSmartCamera()
     base.localAvatar.enableAvatarControls()
     self.brLabel = OnscreenText(
         text="",
         parent=base.a2dTopRight,
         fg=(1, 1, 1, 1),
         shadow=(0, 0, 0, 1),
         pos=(-0.1, -0.1, 0),
         align=TextNode.ARight,
     )
     self.bdLabel = OnscreenText(
         text="",
         parent=base.a2dTopLeft,
         fg=(1, 1, 1, 1),
         shadow=(0, 0, 0, 1),
         pos=(0.1, -0.1, 0),
         align=TextNode.ALeft,
     )
     self.bsLabel = OnscreenText(
         text="",
         parent=base.a2dTopLeft,
         fg=(1, 1, 1, 1),
         shadow=(0, 0, 0, 1),
         pos=(0.1, -0.2, 0),
         align=TextNode.ALeft,
     )
     self.accept("enterMGDeliveryGagShop", self.__maybeDropOffBarrel)
 def load(self):
     spawn = random.choice(DGG.SpawnPoints)
     base.localAvatar.setPos(spawn)
     base.localAvatar.setHpr(0, 0, 0)
     self.soundPickUpBarrel = base.loadSfx("phase_6/audio/sfx/SZ_MM_gliss.mp3")
     self.soundDropOff = base.loadSfx("phase_4/audio/sfx/MG_sfx_travel_game_bell_for_trolley.mp3")
     self.setMinigameMusic("phase_4/audio/bgm/MG_Delivery.mp3")
     self.setDescription(
         "A new supply of Gags were just shipped to Toontown! "
         + "Run over to a truck with Gag barrels to take a barrel out. Then, carry it over to the Gag Shop. "
         + "Try to unload and deliver as many barrels as you can to the Gag Shop. "
         + "Watch out for the Cogs - they might try to snatch a barrel!"
     )
     self.setWinnerPrize(100)
     self.setLoserPrize(0)
     self.gagShop = loader.loadModel("phase_4/models/modules/gagShop_TT.bam")
     self.gagShop.reparentTo(base.render)
     self.gagShop.setY(-70)
     sphere = CollisionSphere(0, 0, 0, 3)
     sphere.setTangible(0)
     node = CollisionNode("MGDeliveryGagShop")
     node.addSolid(sphere)
     self.gagShopCollNP = self.gagShop.attachNewNode(node)
     self.world = loader.loadModel("phase_4/models/minigames/delivery_area.egg")
     self.world.setY(-5)
     self.world.reparentTo(base.render)
     self.sky = loader.loadModel("phase_3.5/models/props/TT_sky.bam")
     self.sky.reparentTo(base.camera)
     ce = CompassEffect.make(NodePath(), CompassEffect.PRot | CompassEffect.PZ)
     self.sky.node().setEffect(ce)
     self.sky.setZ(-20)
     self.skyUtil.startSky(self.sky)
     base.camera.setPos(20, 50, 30)
     base.camera.lookAt(20, 0, 7.5)
     DistributedMinigame.load(self)
 def exitPlay(self):
     self.ignore("enterMGDeliveryGagShop")
     base.localAvatar.disableAvatarControls()
     base.localAvatar.stopSmartCamera()
     base.localAvatar.detachCamera()
     self.brLabel.destroy()
     self.brLabel = None
     self.bsLabel.destroy()
     self.bsLabel = None
     self.bdLabel.destroy()
     self.bdLabel = None
     DistributedMinigame.exitPlay(self)
     return
Beispiel #6
0
 def exitPlay(self):
     self.ignore('enterMGDeliveryGagShop')
     base.localAvatar.disableAvatarControls()
     base.localAvatar.stopSmartCamera()
     base.localAvatar.detachCamera()
     base.localAvatar.stopTrackAnimToSpeed()
     self.brLabel.destroy()
     self.brLabel = None
     self.bsLabel.destroy()
     self.bsLabel = None
     self.bdLabel.destroy()
     self.bdLabel = None
     DistributedMinigame.exitPlay(self)
Beispiel #7
0
 def disable(self):
     if self.world:
         self.world.removeNode()
         self.world = None
     if self.gagShop:
         self.gagShop.removeNode()
         self.gagShop = None
     if self.sky:
         self.sky.removeNode()
         self.sky = None
     if self.gagShopCollNP:
         self.gagShopCollNP.removeNode()
         self.gagShopCollNP = None
     self.skyUtil = None
     self.soundPickUpBarrel = None
     self.soundDropOff = None
     self.truckBarrelIsFrom = None
     del base.localAvatar.hasBarrel
     self.barrelsByAvId = None
     DistributedMinigame.disable(self)
 def __init__(self, cr):
     DistributedMinigame.__init__(self, cr)
     self.fsm.addState(State.State('announceGameOver', self.enterAnnounceGameOver, self.exitAnnounceGameOver, ['gameOver']))
     self.fsm.getStateNamed('play').addTransition('announceGameOver')
     self.world = None
     self.gagShop = None
     self.sky = None
     self.skyUtil = SkyUtil()
     base.localAvatar.hasBarrel = False
     self.truckBarrelIsFrom = None
     self.soundPickUpBarrel = None
     self.soundDropOff = None
     self.barrelsByAvId = {}
     self.bsLabel = None
     self.brLabel = None
     self.bdLabel = None
     self.gagShopCollNP = None
     self.barrelsRemaining = 0
     self.barrelsStolen = 0
     self.barrelsDelivered = 0
     return
 def disable(self):
     if self.world:
         self.world.removeNode()
         self.world = None
     if self.gagShop:
         self.gagShop.removeNode()
         self.gagShop = None
     if self.sky:
         self.sky.removeNode()
         self.sky = None
     if self.gagShopCollNP:
         self.gagShopCollNP.removeNode()
         self.gagShopCollNP = None
     self.skyUtil = None
     self.soundPickUpBarrel = None
     self.soundDropOff = None
     self.truckBarrelIsFrom = None
     del base.localAvatar.hasBarrel
     self.barrelsByAvId = None
     DistributedMinigame.disable(self)
     return
 def __init__(self, cr):
     DistributedMinigame.__init__(self, cr)
     self.fsm.addState(
         State.State("announceGameOver", self.enterAnnounceGameOver, self.exitAnnounceGameOver, ["gameOver"])
     )
     self.fsm.getStateNamed("play").addTransition("announceGameOver")
     self.world = None
     self.gagShop = None
     self.sky = None
     self.skyUtil = SkyUtil()
     base.localAvatar.hasBarrel = False
     self.truckBarrelIsFrom = None
     self.soundPickUpBarrel = None
     self.soundDropOff = None
     self.barrelsByAvId = {}
     self.bsLabel = None
     self.brLabel = None
     self.bdLabel = None
     self.gagShopCollNP = None
     self.barrelsRemaining = 0
     self.barrelsStolen = 0
     self.barrelsDelivered = 0
     return
 def announceGenerate(self):
     DistributedMinigame.announceGenerate(self)
     self.load()
 def enterStart(self):
     DistributedMinigame.enterStart(self)
     beepSound = base.loadSfx('phase_4/audio/sfx/MG_delivery_truck_beep.ogg')
     beepSound.play()
 def announceGenerate(self):
     DistributedMinigame.announceGenerate(self)
     self.load()
 def enterStart(self):
     DistributedMinigame.enterStart(self)
     beepSound = base.loadSfx("phase_4/audio/sfx/MG_delivery_truck_beep.mp3")
     base.playSfx(beepSound)