private void InputDeviceDisconnectedCallback() { PlayerMovement movement = GetComponent <PlayerMovement>(); movement?.StopAllMovement(); if (broadcast != null) { StopCoroutine(broadcast); } broadcast = null; stateManager?.AttemptStartState(delegate { }, delegate { }); inputDevice = null; }