*** empty log message ***
This commit is contained in:
parent
d332fc9402
commit
51ec5d8e95
|
|
@ -236,10 +236,9 @@ class ClientRepository(DirectObject.DirectObject):
|
|||
del(self.doId2cdc[doId])
|
||||
# Sanity check the dictionaries
|
||||
assert(len(self.doId2do) == len(self.doId2cdc))
|
||||
# Disable the object itself
|
||||
obj.disableAndAnnounce()
|
||||
# Delete the object itself
|
||||
obj.delete()
|
||||
# Disable, announce, and delete the object itself...
|
||||
# unless delayDelete is on...
|
||||
obj.deleteOrDelay()
|
||||
# If it is in the cache, remove it.
|
||||
elif self.cache.contains(doId):
|
||||
self.cache.delete(doId)
|
||||
|
|
|
|||
|
|
@ -14,6 +14,13 @@ class DistributedObject(PandaObject):
|
|||
# that lives in the UberZone. This keeps them from being disabled when you change
|
||||
# zones, even to the quiet zone.
|
||||
self.setNeverDisable(0)
|
||||
|
||||
# This flag tells whether the object can be deleted right away,
|
||||
# or not.
|
||||
self.delayDeleteFlag = 0
|
||||
# This flag tells whether a delete has been requested on this
|
||||
# object.
|
||||
self.deleteImminent = 0
|
||||
return None
|
||||
|
||||
def setNeverDisable(self, bool):
|
||||
|
|
@ -24,6 +31,35 @@ class DistributedObject(PandaObject):
|
|||
def getNeverDisable(self):
|
||||
return self.neverDisable
|
||||
|
||||
def deleteOrDelay(self):
|
||||
if self.delayDeleteFlag:
|
||||
self.deleteImminent = 1
|
||||
else:
|
||||
self.disableAnnounceAndDelete()
|
||||
return None
|
||||
|
||||
def delayDelete(self, flag):
|
||||
if self.delayDeleteFlag:
|
||||
if flag:
|
||||
self.notify.warning("Object: " + str(self.getDoId()) +
|
||||
" is already in delayDelete mode")
|
||||
else:
|
||||
self.delayDeleteFlag = 0
|
||||
if self.deleteImminent:
|
||||
self.disableAnnounceAndDelete()
|
||||
else:
|
||||
if flag:
|
||||
self.delayDeleteFlag = 1
|
||||
else:
|
||||
self.notify.warning("Object: " + str(self.getDoId()) +
|
||||
" is not in delayDelete mode")
|
||||
return None
|
||||
|
||||
def disableAnnounceAndDelete(self):
|
||||
self.disableAndAnnounce()
|
||||
self.delete()
|
||||
return None
|
||||
|
||||
def disableAndAnnounce(self):
|
||||
"""disableAndAnnounce(self)
|
||||
Inheritors should *not* redefine this function.
|
||||
|
|
|
|||
Loading…
Reference in New Issue