prevent interest loss

This commit is contained in:
Zachary Pavlov 2010-05-13 20:27:12 +00:00
parent 8f1999f63d
commit 2eae5dbcd3
3 changed files with 11 additions and 6 deletions

View File

@ -137,9 +137,7 @@ class DistributedObjectAI(DistributedObjectBase):
"""
self._DOAI_requestedDelete = False
if self._zoneData is not None:
self._zoneData.destroy()
self._zoneData = None
self.releaseZoneData()
# Clean up all the pending barriers.
for barrier in self.__barriers.values():
@ -220,9 +218,7 @@ class DistributedObjectAI(DistributedObjectBase):
self.air.storeObjectLocation(self, parentId, zoneId)
if ((oldParentId != parentId) or
(oldZoneId != zoneId)):
if self._zoneData is not None:
self._zoneData.destroy()
self._zoneData = None
self.releaseZoneData()
messenger.send(self.getZoneChangeEvent(), [zoneId, oldZoneId])
# if we are not going into the quiet zone, send a 'logical' zone
# change message

View File

@ -32,35 +32,43 @@ class DistributedSmoothNodeAI(DistributedNodeAI.DistributedNodeAI,
self.setH(h)
def setSmZ(self, z, t=None):
messenger.send("posUpdate", [self,None,None,z, None, t])
self.setZ(z)
def setSmXY(self, x, y, t=None):
messenger.send("posUpdate", [self,x,y,None, None, t])
self.setX(x)
self.setY(y)
def setSmXZ(self, x, z, t=None):
messenger.send("posUpdate", [self,x,None,z, None, t])
self.setX(x)
self.setZ(z)
def setSmPos(self, x, y, z, t=None):
messenger.send("posUpdate", [self,x,y,z, None, t])
self.setPos(x, y, z)
def setSmHpr(self, h, p, r, t=None):
self.setHpr(h, p, r)
def setSmXYH(self, x, y, h, t=None):
messenger.send("posUpdate", [self,x,y,None,None,t])
self.setX(x)
self.setY(y)
self.setH(h)
def setSmXYZH(self, x, y, z, h, t=None):
messenger.send("posUpdate", [self,x,y,z,None,t])
self.setPos(x, y, z)
self.setH(h)
def setSmPosHpr(self, x, y, z, h, p, r, t=None):
messenger.send("posUpdate", [self,x,y,z,None,t])
self.setPosHpr(x, y, z, h, p, r)
def setSmPosHprL(self, l, x, y, z, h, p, r, t=None):
messenger.send("posUpdate", [self,x,y,z,l,t])
self.setPosHpr(x, y, z, h, p, r)
def clearSmoothing(self, bogus = None):

View File

@ -43,6 +43,7 @@ class InterestWatcher(DirectObject):
logFunc = self.notify.warning
logFunc('%s: empty interest-complete set' % self.getName())
self.destroy()
messenger.send(self.getDoneEvent())
else:
self.accept(self.getDoneEvent(), self.destroy)