Explosion refactor fixes pt1 (#7375)

This commit is contained in:
Leon Friedrich
2022-04-05 19:22:35 +12:00
committed by GitHub
parent 722a408c41
commit 311450864c
15 changed files with 239 additions and 78 deletions

View File

@@ -33,6 +33,7 @@ public sealed class ExplosionOverlaySystem : EntitySystem
SubscribeNetworkEvent<ExplosionEvent>(OnExplosion);
SubscribeNetworkEvent<ExplosionOverlayUpdateEvent>(HandleExplosionUpdate);
SubscribeLocalEvent<MapChangedEvent>(OnMapChanged);
_cfg.OnValueChanged(CCVars.ExplosionPersistence, SetExplosionPersistence, true);
@@ -42,6 +43,17 @@ public sealed class ExplosionOverlaySystem : EntitySystem
overlayManager.AddOverlay(_overlay);
}
private void OnMapChanged(MapChangedEvent ev)
{
if (ev.Created)
return;
if (_overlay.ActiveExplosion?.Map == ev.Map)
_overlay.ActiveExplosion = null;
_overlay.CompletedExplosions.RemoveAll(exp => exp.Map == ev.Map);
}
private void SetExplosionPersistence(float value) => ExplosionPersistence = value;
public override void FrameUpdate(float frameTime)