from direct.showbase.DirectObject import DirectObject from toontown.toonbase.ToontownGlobals import * from direct.directnotify import DirectNotifyGlobal from direct.interval.IntervalGlobal import * from . import DivingGameGlobals class DivingTreasure(DirectObject): def __init__(self, i): self.treasureNode = render.attachNewNode('treasure') loadBase = 'phase_4/models/minigames/' self.chest = loader.loadModel(loadBase + 'treasure.bam') self.chest.reparentTo(self.treasureNode) self.chest.setPos(0, 0, -25) self.chest.setScale(1, 0.7, 1) self.chestId = i self.grabbedId = 0 self.moveLerp = Sequence() self.treasureNode.setScale(0.04) self.treasureNode.setPos(-15 + 10.0 * i, 0.25, -36.0) cSphere = CollisionSphere(0.0, 0.0, 0.0, 45) cSphere.setTangible(0) name = str(i) cSphereNode = CollisionNode(name) cSphereNode.setIntoCollideMask(DivingGameGlobals.CollideMask) cSphereNode.addSolid(cSphere) self.chestNode = cSphereNode self.chestCNP = self.treasureNode.attachNewNode(cSphereNode) def destroy(self): self.ignoreAll() del self.chest self.moveLerp.finish() del self.moveLerp self.treasureNode.removeNode() del self.treasureNode