40 lines
1.4 KiB
Python
40 lines
1.4 KiB
Python
from panda3d.core import *
|
|
from direct.interval.IntervalGlobal import *
|
|
from direct.distributed.ClockDelta import *
|
|
import MovingPlatform
|
|
from toontown.toonbase import ToontownGlobals
|
|
from direct.directnotify import DirectNotifyGlobal
|
|
from direct.fsm import ClassicFSM
|
|
import DistributedSwitch
|
|
from toontown.toonbase import TTLocalizer
|
|
|
|
class DistributedTrigger(DistributedSwitch.DistributedSwitch):
|
|
|
|
def setupSwitch(self):
|
|
radius = 1.0
|
|
cSphere = CollisionSphere(0.0, 0.0, 0.0, radius)
|
|
cSphere.setTangible(0)
|
|
cSphereNode = CollisionNode(self.getName())
|
|
cSphereNode.addSolid(cSphere)
|
|
self.cSphereNodePath = self.attachNewNode(cSphereNode)
|
|
cSphereNode.setCollideMask(ToontownGlobals.WallBitmask)
|
|
self.flattenMedium()
|
|
|
|
def delete(self):
|
|
self.cSphereNodePath.removeNode()
|
|
del self.cSphereNodePath
|
|
DistributedSwitch.DistributedSwitch.delete(self)
|
|
|
|
def enterTrigger(self, args = None):
|
|
DistributedSwitch.DistributedSwitch.enterTrigger(self, args)
|
|
self.setIsOn(1)
|
|
|
|
def exitTrigger(self, args = None):
|
|
DistributedSwitch.DistributedSwitch.exitTrigger(self, args)
|
|
self.setIsOn(0)
|
|
|
|
def getName(self):
|
|
if self.triggerName != '':
|
|
return self.triggerName
|
|
else:
|
|
return DistributedSwitch.DistributedSwitch.getName(self)
|