浏览代码

double generate for objects problem fix

Justin Butler 19 年之前
父节点
当前提交
b03771c59c
共有 1 个文件被更改,包括 5 次插入1 次删除
  1. 5 1
      direct/src/distributed/AsyncRequest.py

+ 5 - 1
direct/src/distributed/AsyncRequest.py

@@ -261,7 +261,11 @@ class AsyncRequest(DirectObject):
         assert not self.__deleted
         assert not self.__deleted
         isInDoId2do = doId in self.air.doId2do
         isInDoId2do = doId in self.air.doId2do
         distObj = self.air.generateGlobalObject(doId, className, values)
         distObj = self.air.generateGlobalObject(doId, className, values)
-        if not isInDoId2do:
+        if not isInDoId2do and game.name == 'uberDog':
+            # only remove doId if this is the uberdog?, in pirates this was
+            # causing traded inventory objects to be generated twice, once
+            # here and again later when it was noticed the doId was not in
+            # the doId2do list yet.
             self.air.doId2do.pop(doId, None)
             self.air.doId2do.pop(doId, None)
         self._checkCompletion(name, None, distObj)
         self._checkCompletion(name, None, distObj)