mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-01 17:35:34 -04:00
added want global managers
This commit is contained in:
parent
afe219dcd0
commit
3b31e5f567
@ -296,7 +296,7 @@ class ClientRepository(ConnectionRepository):
|
||||
print "New DO:%s, dclass:%s"%(doId, dclass.getName())
|
||||
return distObj
|
||||
|
||||
def generateGlobalObject(self , doId, dcname):
|
||||
def generateGlobalObject(self, doId, dcname):
|
||||
# Look up the dclass
|
||||
dclass = self.dclassesByName[dcname]
|
||||
# Create a new distributed object, and put it in the dictionary
|
||||
@ -316,11 +316,12 @@ class ClientRepository(ConnectionRepository):
|
||||
# Update the required fields
|
||||
distObj.generateInit() # Only called when constructed
|
||||
distObj.generate()
|
||||
if wantOtpServer:
|
||||
# TODO: ROGER: where should we get parentId and zoneId?
|
||||
parentId = None
|
||||
zoneId = None
|
||||
distObj.setLocation(parentId, zoneId)
|
||||
if not wantGlobalManagers:
|
||||
if wantOtpServer:
|
||||
# TODO: ROGER: where should we get parentId and zoneId?
|
||||
parentId = None
|
||||
zoneId = None
|
||||
distObj.setLocation(parentId, zoneId)
|
||||
# updateRequiredFields calls announceGenerate
|
||||
return distObj
|
||||
|
||||
@ -819,10 +820,6 @@ class ClientRepository(ConnectionRepository):
|
||||
taskMgr.doMethodLater(self.heartbeatInterval, self.sendHeartbeatTask,
|
||||
"heartBeat")
|
||||
|
||||
def sendUpdate(self, do, fieldName, args, sendToId = None):
|
||||
dg = do.dclass.clientFormatUpdate(fieldName, sendToId or do.doId, args)
|
||||
self.send(dg)
|
||||
|
||||
def sendUpdateZone(self, obj, zoneId):
|
||||
# This method is only used in conjunction with the CMU LAN
|
||||
# server.
|
||||
|
@ -59,6 +59,61 @@ class ConnectionRepository(
|
||||
# DC file. The AIRepository will redefine this to 'AI'.
|
||||
self.dcSuffix = ''
|
||||
|
||||
if wantGlobalManagers:
|
||||
def generateGlobalObject(self, doId, dcname):
|
||||
# Look up the dclass
|
||||
dclass = self.dclassesByName[dcname+self.dcSuffix]
|
||||
# Create a new distributed object, and put it in the dictionary
|
||||
#distObj = self.generateWithRequiredFields(dclass, doId, di)
|
||||
|
||||
# Construct a new one
|
||||
classDef = dclass.getClassDef()
|
||||
if classDef == None:
|
||||
self.notify.error("Could not create an undefined %s object."%(
|
||||
dclass.getName()))
|
||||
distObj = classDef(self)
|
||||
distObj.dclass = dclass
|
||||
# Assign it an Id
|
||||
distObj.doId = doId
|
||||
# Put the new do in the dictionary
|
||||
self.doId2do[doId] = distObj
|
||||
# Update the required fields
|
||||
distObj.generateInit() # Only called when constructed
|
||||
distObj.generate()
|
||||
## if wantOtpServer:
|
||||
## # TODO: ROGER: where should we get parentId and zoneId?
|
||||
## parentId = None
|
||||
## zoneId = None
|
||||
## distObj.setLocation(parentId, zoneId)
|
||||
# updateRequiredFields calls announceGenerate
|
||||
return distObj
|
||||
|
||||
## def generateGlobalObject(self, doId, dcname, parentId=None, zoneId=None):
|
||||
## assert self.notify.debugStateCall(self)
|
||||
## # Look up the dclass
|
||||
## dclass = self.dclassesByName[dcname]
|
||||
## # Construct a new one
|
||||
## classDef = dclass.getClassDef()
|
||||
## if classDef == None:
|
||||
## self.notify.error("Could not create an undefined %s object."%(
|
||||
## dclass.getName()))
|
||||
## distObj = classDef(self)
|
||||
## distObj.dclass = dclass
|
||||
|
||||
## assert not hasattr(self, 'parentId')
|
||||
## self.doId = doId
|
||||
## self.parentId = parentId
|
||||
## self.zoneId = zoneId
|
||||
## # Put the new DO in the dictionaries
|
||||
## self.air.addDOToTables(self, location=(parentId,zoneId))
|
||||
|
||||
## assert not hasattr(self, 'parentId')
|
||||
## self.parentId = parentId
|
||||
## self.zoneId = zoneId
|
||||
## distObj.generateInit() # Only called when constructed
|
||||
## self.generate()
|
||||
## return distObj
|
||||
|
||||
def readDCFile(self, dcFileNames = None):
|
||||
"""
|
||||
Reads in the dc files listed in dcFileNames, or if
|
||||
|
Loading…
x
Reference in New Issue
Block a user