public void CreatePotentialFieldUpdater(DynamicPotentialField dynamicPotentialField, float updateInterval) { var updater = new DynamicPotentialFieldUpdater(dynamicPotentialField, updateInterval); _dynamicPotentialFieldUpdaters.Add(updater); updater.Disposed += o => _dynamicPotentialFieldUpdaters.Remove(o); }
internal DynamicPotentialFieldUpdater(DynamicPotentialField dynamicPotentialField, float interval) { _dynamicPotentialField = dynamicPotentialField; dynamicPotentialField.Disposed += o => Dispose(); _interval = interval; }
void ICmpInitializable.OnShutdown(ShutdownContext context) { _potentialField?.Dispose(); _potentialField = null; }
void ICmpInitializable.OnDeactivate() { _potentialField?.Dispose(); _potentialField = null; }