Make entity lists thread-safe with copy-on-write wrappers

Replaced static entity lists (e.g., HullList, GapList, MapEntityList, etc.) with thread-safe copy-on-write wrappers to improve concurrency and prevent race conditions. Updated usages and related methods to support the new thread-safe collections, ensuring atomic operations and lock-free reads throughout the codebase.
This commit is contained in:
Eero
2025-12-28 21:59:03 +08:00
parent bd1e624eb1
commit e167a34f32
13 changed files with 613 additions and 68 deletions
@@ -637,7 +637,7 @@ namespace Barotrauma.Items.Components
if (pathFinder == null)
{
pathFinder = new PathFinder(WayPoint.WayPointList, false)
pathFinder = new PathFinder(WayPoint.WayPointList.ToList(), false)
{
GetNodePenalty = GetNodePenalty
};