/// <summary> /// Start To Use Virtual Keyboard Get input /// </summary> /// <param name="_handle"></param> /// <param name="realTimeInput"></param> public void GetInput(VRInputField vrInput, VRInputRequest _inputRequest, VRKeyInputHandle _handle) { handleInput = _handle; inputRequest = _inputRequest; result = inputRequest.m_RealInput; //自动保留之前输入的信息 //Set KeyBoard Position gameObject.SetActive(true); m_VRInputFieldScript = vrInput; transform.localEulerAngles = _inputRequest.m_KeyBoardAngle; FollowTarget_Pos(vrInput.transform); vrInput.TransformListenerToolScript.AddEventListenner(TransformListenerTool.ListenTransformChangeEventEnum.LocalPosition, FollowTarget_Pos); //开始跟随对象 #if UNITY_EDITOR vrInput.TransformListenerToolScript.AddEventListenner(TransformListenerTool.ListenTransformChangeEventEnum.Rotation, FollowTarget_Rotation); //开始跟随对象 #endif GlobalEntity.GetInstance().Dispatch <bool>(VRKeyboardEvent.KeyBoardStateNotify, true); m_CapsShift = false; m_NormalInputState = true; appendChar = ""; //Reset if (m_OperateKeyButton != null) { m_OperateKeyButton.transform.SetSiblingIndex(m_OperateKeyButton.m_Index); } ShowKeyView(); m_InputBG.enabled = false; }
protected override void OnDisable() { base.OnDisable(); GlobalEntity.GetInstance().RemoveListener(VRKeyboardEvent.ForceCloseKeyBoard, CloseKeyboard); handleInput = null; errorMsg = ""; errorMsgParameter.Clear(); if (m_VRInputFieldScript != null) { m_VRInputFieldScript.TransformListenerToolScript.RemoveListener(TransformListenerTool.ListenTransformChangeEventEnum.LocalPosition, FollowTarget_Pos); //开始跟随对象 } #if UNITY_EDITOR if (m_VRInputFieldScript != null) { m_VRInputFieldScript.TransformListenerToolScript.RemoveListener(TransformListenerTool.ListenTransformChangeEventEnum.Rotation, FollowTarget_Rotation); //开始跟随对象 } #endif }