toontown-just-works/toontown/golf/DistributedPhysicsWorldAI.py
2024-07-07 18:08:39 -05:00

68 lines
2.2 KiB
Python

from math import *
import math
import random, time
import BuildGeometry
from direct.directnotify import DirectNotifyGlobal
from direct.distributed import DistributedObjectAI
from panda3d.core import *
from toontown.golf import PhysicsWorldBase
from toontown.toonbase import ToontownGlobals
class DistributedPhysicsWorldAI(DistributedObjectAI.DistributedObjectAI, PhysicsWorldBase.PhysicsWorldBase):
notify = DirectNotifyGlobal.directNotify.newCategory('DistributedPhysicsWorldAI')
def __init__(self, air):
DistributedObjectAI.DistributedObjectAI.__init__(self, air)
PhysicsWorldBase.PhysicsWorldBase.__init__(self, 0)
self.commonHoldData = None
self.storeAction = None
self.holdingUpObjectData = 0
return
def generate(self):
DistributedObjectAI.DistributedObjectAI.generate(self)
self.loadLevel()
self.setupSimulation()
def delete(self):
self.notify.debug('Calling DistributedObjectAI.delete')
DistributedObjectAI.DistributedObjectAI.delete(self)
self.notify.debug('Calling PhysicsWorldBase.delete')
PhysicsWorldBase.PhysicsWorldBase.delete(self)
def loadLevel(self):
pass
def createCommonObject(self, type, pos, hpr, sizeX = 0, sizeY = 0, moveDistance = 0):
commonObjectDatam = PhysicsWorldBase.PhysicsWorldBase.createCommonObject(self, type, None, pos, hpr, sizeX, sizeY, moveDistance)
self.sendUpdate('clientCommonObject', commonObjectDatam)
return
def updateCommonObjects(self):
self.sendUpdate('setCommonObjects', [self.getCommonObjectData()])
def doAction(self):
self.performReadyAction()
self.storeAction = None
self.commonHoldData = None
return
def upSetCommonObjects(self, objectData):
self.holdingUpObjectData = 1
self.commonHoldData = objectData
if self.storeAction:
self.doAction()
def setupCommonObjects(self):
print self.commonHoldData
if not self.commonHoldData:
return
elif self.commonHoldData[0][1] == 99:
print 'no common objects'
else:
self.useCommonObjectData(self.commonHoldData, 0)
def performReadyAction(self):
pass