def privGotSpec(self, levelSpec): DistCogdoLevelGame.privGotSpec(self, levelSpec) levelMgr = self.getEntity(LevelConstants.LevelMgrEntId) self.endVault = levelMgr.geom self.endVault.reparentTo(self.geomRoot) self.endVault.findAllMatches('**/MagnetArms').detach() self.endVault.findAllMatches('**/Safes').detach() self.endVault.findAllMatches('**/MagnetControlsAll').detach() cn = self.endVault.find('**/wallsCollision').node() cn.setIntoCollideMask(OTPGlobals.WallBitmask | ToontownGlobals.PieBitmask | PM.BitMask32.lowerOn(3) << 21) walls = self.endVault.find('**/RollUpFrameCillison') walls.detachNode() self.evWalls = self.replaceCollisionPolysWithPlanes(walls) self.evWalls.reparentTo(self.endVault) self.evWalls.stash() floor = self.endVault.find('**/EndVaultFloorCollision') floor.detachNode() self.evFloor = self.replaceCollisionPolysWithPlanes(floor) self.evFloor.reparentTo(self.endVault) self.evFloor.setName('floor') plane = PM.CollisionPlane(PM.Plane(PM.Vec3(0, 0, 1), PM.Point3(0, 0, -50))) planeNode = PM.CollisionNode('dropPlane') planeNode.addSolid(plane) planeNode.setCollideMask(ToontownGlobals.PieBitmask) self.geomRoot.attachNewNode(planeNode)
def exitLoaded(self): self.fnp.removeNode() self.physicsMgr.clearLinearForces() self.geomRoot.removeNode() self._gravityForce = None self._gravityForceNode = None DistCogdoLevelGame.exitLoaded(self) return
def enterLoaded(self): DistCogdoLevelGame.enterLoaded(self) self.lightning = loader.loadModel('phase_10/models/cogHQ/CBLightning.bam') self.magnet = loader.loadModel('phase_10/models/cogHQ/CBMagnet.bam') self.craneArm = loader.loadModel('phase_10/models/cogHQ/CBCraneArm.bam') self.controls = loader.loadModel('phase_10/models/cogHQ/CBCraneControls.bam') self.stick = loader.loadModel('phase_10/models/cogHQ/CBCraneStick.bam') self.cableTex = self.craneArm.findTexture('MagnetControl') self.moneyBag = loader.loadModel('phase_10/models/cashbotHQ/MoneyBag') self.geomRoot = PM.NodePath('geom') self.sceneRoot = self.geomRoot.attachNewNode('sceneRoot') self.sceneRoot.setPos(35.84, -115.46, 6.46) self.physicsMgr = PM.PhysicsManager() integrator = PM.LinearEulerIntegrator() self.physicsMgr.attachLinearIntegrator(integrator) fn = PM.ForceNode('gravity') self.fnp = self.geomRoot.attachNewNode(fn) gravity = PM.LinearVectorForce(0, 0, GameConsts.Settings.Gravity.get()) fn.addForce(gravity) self.physicsMgr.addLinearForce(gravity) self._gravityForce = gravity self._gravityForceNode = fn
def enterFinish(self): DistCogdoLevelGame.enterFinish(self) timeLeft = Consts.FinishDuration.get() - (globalClock.getRealTime() - self.getFinishTime()) self.timer.setTime(timeLeft) self.timer.countdown(timeLeft, self.timerExpired) self.timer.unstash()
def disable(self): self.timer.destroy() self.timer = None DistCogdoLevelGame.disable(self) return
def announceGenerate(self): DistCogdoLevelGame.announceGenerate(self) self.timer = ToontownTimer.ToontownTimer() self.timer.setScale(Consts.Settings.TimerScale.get()) self.timer.stash()
def __init__(self, cr): DistCogdoLevelGame.__init__(self, cr)
def announceGenerate(self): DistCogdoLevelGame.announceGenerate(self) self.timer = ToontownTimer.ToontownTimer() self.timer.stash()
def exitGame(self): DistCogdoLevelGame.exitGame(self) self._physicsTask.remove()
def __init__(self, cr): DistCogdoLevelGame.__init__(self, cr) self.cranes = {} self.moneyBags = {}
def enterGame(self): DistCogdoLevelGame.enterGame(self) self._physicsTask = taskMgr.add(self._doPhysics, self.uniqueName('physics'), priority=25) self.evWalls.stash() self._startTimer()
def enterVisible(self): DistCogdoLevelGame.enterVisible(self) self.geomRoot.reparentTo(render)