mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-02 18:03:56 -04:00
gets rid of a race condition potentially on the ai
This commit is contained in:
parent
a3febca96c
commit
dbb484fff5
@ -92,19 +92,17 @@ class DistributedCartesianGridAI(DistributedNodeAI, CartesianGridBase):
|
||||
def updateGridTask(self, task=None):
|
||||
# Run through all grid objects and update their parents if needed
|
||||
missingObjs = []
|
||||
for avId in self.gridObjects:
|
||||
for avId in self.gridObjects.keys():
|
||||
av = self.gridObjects[avId]
|
||||
# handle a missing object after it is already gone?
|
||||
if (av.isEmpty()):
|
||||
missingObjs.append(avId)
|
||||
del self.gridObjects[avId]
|
||||
continue
|
||||
pos = av.getPos()
|
||||
if ((pos[0] < 0 or pos[1] < 0) or
|
||||
(pos[0] > self.cellWidth or pos[1] > self.cellWidth)):
|
||||
# we are out of the bounds of this current cell
|
||||
self.handleAvatarZoneChange(av)
|
||||
for currMissingObj in missingObjs:
|
||||
del self.gridObjects[avId]
|
||||
# Do this every second, not every frame
|
||||
if (task):
|
||||
task.delayTime = 1.0
|
||||
|
Loading…
x
Reference in New Issue
Block a user