private void InitializeGridAtmosphere()
{
SubscribeLocalEvent<GridAtmosphereComponent, ComponentInit>(OnGridAtmosphereInit);
+ SubscribeLocalEvent<GridAtmosphereComponent, ComponentRemove>(OnAtmosphereRemove);
SubscribeLocalEvent<GridAtmosphereComponent, GridSplitEvent>(OnGridSplit);
#region Atmos API Subscriptions
#endregion
}
+ private void OnAtmosphereRemove(EntityUid uid, GridAtmosphereComponent component, ComponentRemove args)
+ {
+ for (var i = 0; i < _currentRunAtmosphere.Count; i++)
+ {
+ if (_currentRunAtmosphere[i].Owner != uid)
+ continue;
+
+ _currentRunAtmosphere.RemoveAt(i);
+ if (_currentRunAtmosphereIndex >= i)
+ _currentRunAtmosphereIndex--;
+ }
+ }
+
private void OnGridAtmosphereInit(EntityUid uid, GridAtmosphereComponent gridAtmosphere, ComponentInit args)
{
base.Initialize();