protected virtual void Dispose(bool disposing) { if (disposed == false) { if (disposing) { grabber?.Dispose(); detector?.Dispose(); tracker?.Dispose(); selector?.Dispose(); injector?.Dispose(); aimer?.Dispose(); trigger?.Dispose(); } disposed = true; } }