コード例 #1
0
    private void showAlwaysCaret()
    {
        if (textArea.text == "")
        {
            caretPos = 0;
        }


        if (EventSystem.current.currentSelectedGameObject != textArea.gameObject)
        {
            textArea.caretPosition = caretPos;

            textArea.GetType().GetField("m_AllowInput", BindingFlags.NonPublic | BindingFlags.Instance).SetValue(textArea, true);
            textArea.GetType().InvokeMember("SetCaretActive", BindingFlags.NonPublic | BindingFlags.InvokeMethod | BindingFlags.Instance, null, textArea, null);
        }
        else if (EventSystem.current.currentSelectedGameObject == textArea.gameObject)
        {
            caretPos = textArea.caretPosition;
        }
    }