Explosion refactor fixes pt1 (#7375)
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user