瀏覽代碼

VCAI::getFlaggedObjects: use visitableObjs for better performance

This change is drastically improve performance on maps with water. One part that caused issue 2454.
Arseniy Shestakov 9 年之前
父節點
當前提交
25fd4d85e2
共有 1 個文件被更改,包括 4 次插入4 次删除
  1. 4 4
      AI/VCAI/VCAI.cpp

+ 4 - 4
AI/VCAI/VCAI.cpp

@@ -1762,11 +1762,11 @@ void VCAI::retreiveVisitableObjs()
 std::vector<const CGObjectInstance *> VCAI::getFlaggedObjects() const
 {
 	std::vector<const CGObjectInstance *> ret;
-	retreiveVisitableObjs(ret, true);
-	vstd::erase_if(ret, [](const CGObjectInstance *obj)
+	for(const CGObjectInstance *obj : visitableObjs)
 	{
-		return obj->tempOwner != ai->playerID;
-	});
+		if(obj->tempOwner == ai->playerID)
+			ret.push_back(obj);
+	}
 	return ret;
 }