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
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)
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 enterStart(self): DistributedMinigame.enterStart(self) beepSound = base.loadSfx("phase_4/audio/sfx/MG_delivery_truck_beep.mp3") base.playSfx(beepSound)