Fix: PlayerInput.OnInputChanged can return multiple flags simultaneously, always use ContainsFlag.