mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-03 10:22:45 -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())
|
print "New DO:%s, dclass:%s"%(doId, dclass.getName())
|
||||||
return distObj
|
return distObj
|
||||||
|
|
||||||
def generateGlobalObject(self , doId, dcname):
|
def generateGlobalObject(self, doId, dcname):
|
||||||
# Look up the dclass
|
# Look up the dclass
|
||||||
dclass = self.dclassesByName[dcname]
|
dclass = self.dclassesByName[dcname]
|
||||||
# Create a new distributed object, and put it in the dictionary
|
# Create a new distributed object, and put it in the dictionary
|
||||||
@ -316,11 +316,12 @@ class ClientRepository(ConnectionRepository):
|
|||||||
# Update the required fields
|
# Update the required fields
|
||||||
distObj.generateInit() # Only called when constructed
|
distObj.generateInit() # Only called when constructed
|
||||||
distObj.generate()
|
distObj.generate()
|
||||||
if wantOtpServer:
|
if not wantGlobalManagers:
|
||||||
# TODO: ROGER: where should we get parentId and zoneId?
|
if wantOtpServer:
|
||||||
parentId = None
|
# TODO: ROGER: where should we get parentId and zoneId?
|
||||||
zoneId = None
|
parentId = None
|
||||||
distObj.setLocation(parentId, zoneId)
|
zoneId = None
|
||||||
|
distObj.setLocation(parentId, zoneId)
|
||||||
# updateRequiredFields calls announceGenerate
|
# updateRequiredFields calls announceGenerate
|
||||||
return distObj
|
return distObj
|
||||||
|
|
||||||
@ -819,10 +820,6 @@ class ClientRepository(ConnectionRepository):
|
|||||||
taskMgr.doMethodLater(self.heartbeatInterval, self.sendHeartbeatTask,
|
taskMgr.doMethodLater(self.heartbeatInterval, self.sendHeartbeatTask,
|
||||||
"heartBeat")
|
"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):
|
def sendUpdateZone(self, obj, zoneId):
|
||||||
# This method is only used in conjunction with the CMU LAN
|
# This method is only used in conjunction with the CMU LAN
|
||||||
# server.
|
# server.
|
||||||
|
@ -59,6 +59,61 @@ class ConnectionRepository(
|
|||||||
# DC file. The AIRepository will redefine this to 'AI'.
|
# DC file. The AIRepository will redefine this to 'AI'.
|
||||||
self.dcSuffix = ''
|
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):
|
def readDCFile(self, dcFileNames = None):
|
||||||
"""
|
"""
|
||||||
Reads in the dc files listed in dcFileNames, or if
|
Reads in the dc files listed in dcFileNames, or if
|
||||||
|
Loading…
x
Reference in New Issue
Block a user