public void Interact(IInteractor interactor) { if (!_isInteracting) { InteractStart(interactor); interactStartEvent.Invoke(); interactor.RegisterInteracting(this); _isInteracting = true; } else { InteractStop(); interactStopEvent.Invoke(); interactor.DeregisterInteracting(this); _isInteracting = false; } }