mirror of
https://github.com/OpenMW/openmw.git
synced 2025-02-21 12:09:43 +00:00
Consider RecastMeshManager not empty when there is water
This commit is contained in:
parent
24b802b3d8
commit
fdee9db20c
2 changed files with 15 additions and 1 deletions
|
@ -323,4 +323,18 @@ namespace
|
||||||
for (int y = -6; y < 6; ++y)
|
for (int y = -6; y < 6; ++y)
|
||||||
ASSERT_EQ(manager.hasTile(TilePosition(x, y)), -1 <= x && x <= 0 && -1 <= y && y <= 0);
|
ASSERT_EQ(manager.hasTile(TilePosition(x, y)), -1 <= x && x <= 0 && -1 <= y && y <= 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TEST_F(DetourNavigatorTileCachedRecastMeshManagerTest, remove_object_should_not_remove_tile_with_water)
|
||||||
|
{
|
||||||
|
TileCachedRecastMeshManager manager(mSettings);
|
||||||
|
const osg::Vec2i cellPosition(0, 0);
|
||||||
|
const int cellSize = 8192;
|
||||||
|
const btBoxShape boxShape(btVector3(20, 20, 100));
|
||||||
|
ASSERT_TRUE(manager.addObject(ObjectId(&boxShape), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground));
|
||||||
|
ASSERT_TRUE(manager.addWater(cellPosition, cellSize, osg::Vec3f()));
|
||||||
|
ASSERT_TRUE(manager.removeObject(ObjectId(&boxShape)));
|
||||||
|
for (int x = -6; x < 6; ++x)
|
||||||
|
for (int y = -6; y < 6; ++y)
|
||||||
|
ASSERT_TRUE(manager.hasTile(TilePosition(x, y)));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -84,7 +84,7 @@ namespace DetourNavigator
|
||||||
|
|
||||||
bool RecastMeshManager::isEmpty() const
|
bool RecastMeshManager::isEmpty() const
|
||||||
{
|
{
|
||||||
return mObjects.empty();
|
return mObjects.empty() && mWater.empty();
|
||||||
}
|
}
|
||||||
|
|
||||||
void RecastMeshManager::reportNavMeshChange(const Version& recastMeshVersion, const Version& navMeshVersion)
|
void RecastMeshManager::reportNavMeshChange(const Version& recastMeshVersion, const Version& navMeshVersion)
|
||||||
|
|
Loading…
Reference in a new issue