public void ShowKeyBoard(IKeyboardInput j_InputField) { if (j_InputField == j_input) { return; } if (!isListeningForVoiceCommand) { JMRVoiceManager.OnSpeechResults += OnSpeechResult; JMRVoiceManager.OnSpeechError += OnSpeechError; JMRVoiceManager.OnSpeechCancelled += OnSpeechCancelled; } if (!gameObject.activeInHierarchy) { gameObject.SetActive(true); } if (j_InputField != null && j_InputField != j_input) { if (j_input != null) { j_input.OnDeselect(); } MonoBehaviour inputField = (MonoBehaviour)j_InputField; if (j_InputField.j_KeyboardPosition != null) { transform.position = j_InputField.j_KeyboardPosition.position; transform.rotation = j_InputField.j_KeyboardPosition.rotation; } else { if (inputField.transform.position.y >= 0) { transform.position = inputField.transform.position + Vector3.down * 0.4f; transform.rotation = inputField.transform.rotation; } else { transform.position = inputField.transform.position + Vector3.up * 0.4f; transform.rotation = inputField.transform.rotation; } } this.j_input = j_InputField; cachedTex = string.IsNullOrEmpty(j_input.Text) ? "" : j_input.Text; if (string.IsNullOrEmpty(cachedTex)) { StartCoroutine(WaitTillEOF()); } prevText = ""; isShown = true; showInputfieldTxt = true; } }