public void ChangeState(CameraState.State state) { if (_cameraState != null) { _cameraState.Dispose(); _cameraState = null; } _cameraState = _cameraStateFactory.CreateFactory(state); _cameraState.Start(); }