IEnumerator MoveKeyboardToInputField(bool instant) { const float kKeyboardYOffset = 0.05f; var targetPosition = transform.position + Vector3.up * kKeyboardYOffset; if (!instant && !m_Keyboard.collapsed) { var t = 0f; while (t < kMoveKeyboardTime) { m_Keyboard.transform.position = Vector3.Lerp(m_Keyboard.transform.position, targetPosition, t / kMoveKeyboardTime); m_Keyboard.transform.rotation = Quaternion.LookRotation(transform.position - U.Camera.GetMainCamera().transform.position); t += Time.unscaledDeltaTime; yield return(null); } } m_Keyboard.transform.position = targetPosition; m_Keyboard.transform.rotation = Quaternion.LookRotation(transform.position - U.Camera.GetMainCamera().transform.position); m_MoveKeyboardCoroutine = null; m_Keyboard.Setup(OnKeyPress); }