Refactor single-thread worker

Re-parallel Hull Update
Use new gap shaffle algorithm
This commit is contained in:
NotAlwaysTrue
2026-04-30 20:05:23 +08:00
parent 099d664731
commit 02689d0d86
6 changed files with 90 additions and 26 deletions
@@ -888,22 +888,24 @@ namespace Barotrauma
Oxygen -= OxygenDeteriorationSpeed * deltaTime;
if (FakeFireSources.Count > 0)
SingleThreadWorker.Instance.AddAction(() =>
{
if ((Character.Controlled?.CharacterHealth?.GetAffliction("psychosis")?.Strength ?? 0.0f) <= 0.0f)
if (FakeFireSources.Count > 0)
{
for (int i = FakeFireSources.Count - 1; i >= 0; i--)
if ((Character.Controlled?.CharacterHealth?.GetAffliction("psychosis")?.Strength ?? 0.0f) <= 0.0f)
{
if (FakeFireSources[i].CausedByPsychosis)
for (int i = FakeFireSources.Count - 1; i >= 0; i--)
{
FakeFireSources[i].Remove();
if (FakeFireSources[i].CausedByPsychosis)
{
FakeFireSources[i].Remove();
}
}
}
FireSource.UpdateAll(FakeFireSources, deltaTime);
}
FireSource.UpdateAll(FakeFireSources, deltaTime);
}
FireSource.UpdateAll(FireSources, deltaTime);
FireSource.UpdateAll(FireSources, deltaTime);
});
foreach (Decal decal in decals)
{