Poodletooth-iLand/toontown/suit/DistributedGridGoon.py

53 lines
1.8 KiB
Python
Raw Normal View History

2015-11-14 13:28:53 -06:00
from panda3d.core import *
from direct.interval.IntervalGlobal import *
from toontown.battle.BattleProps import *
from direct.directnotify import DirectNotifyGlobal
import DistributedGoon
from toontown.toonbase import ToontownGlobals
from toontown.coghq import MovingPlatform
class DistributedGridGoon(DistributedGoon.DistributedGoon):
notify = DirectNotifyGlobal.directNotify.newCategory('DistributedGoon')
def __init__(self, cr, type = 'sg'):
try:
self.DistributedGridGoon_initialized
except:
self.DistributedGridGoon_initialized = 1
DistributedGoon.DistributedGoon.__init__(self, cr, type)
def generate(self):
DistributedGoon.DistributedGoon.generate(self)
self.ignore(self.uniqueName('wallHit'))
self.mazeWalkTrack = None
return
def delete(self):
if self.mazeWalkTrack:
self.mazeWalkTrack.pause()
del self.mazeWalkTrack
DistributedGoon.DistributedGoon.delete(self)
def setH(self, h):
self.h = h
def setPathPts(self, xi, yi, zi, xf, yf, zf):
self.notify.debug('setPathPts')
if self.mazeWalkTrack:
self.mazeWalkTrack.pause()
del self.mazeWalkTrack
self.mazeWalkTrack = None
curPos = Point3(xi, yi, zi)
nextPos = Point3(xf, yf, zf)
distance = Vec3(curPos - nextPos).length()
duration = distance / self.velocity
self.mazeWalkTrack = Sequence(Func(self.headsUp, nextPos[0], nextPos[1], nextPos[2]), LerpPosInterval(self, duration=duration, pos=nextPos, startPos=curPos), name=self.uniqueName('mazeWalkTrack'))
self.mazeWalkTrack.start()
return
def enterWalk(self, avId = None, ts = 0):
pass
def exitWalk(self):
pass