private void CreateInputTextMeshProComponent()
        {
            TMP_InputField val = this.GetComponent <TMP_InputField>();

            if (null == val)
            {
                val = this.get_gameObject().AddComponent <TMP_InputField>();
            }
            m_inputFieldComponent = val;
            val.set_enabled(false);
            val.set_interactable(m_interactable);
            val.set_textViewport(m_viewport);
            val.set_transition(0);
            if (null != m_text)
            {
                TMP_Text textComponent = m_text.GetTextComponent();
                if (null == textComponent)
                {
                    m_text.TextComponentCreated += OnTextComponentCreated;
                    val.set_enabled(false);
                }
                else
                {
                    OnTextComponentCreated(textComponent);
                }
            }
            if (null != m_placeholderText)
            {
                TMP_Text textComponent2 = m_placeholderText.GetTextComponent();
                if (null == textComponent2)
                {
                    m_placeholderText.TextComponentCreated += OnPlaceholderTextComponentCreated;
                }
                else
                {
                    OnPlaceholderTextComponentCreated(textComponent2);
                }
            }
            val.set_onValueChanged(m_onValueChanged);
            val.set_onEndEdit(m_onEndEdit);
            val.set_onSubmit(m_onSubmit);
            val.set_onSelect(m_onSelect);
            val.set_onDeselect(m_onDeselect);
            val.set_onTextSelection(m_onTextSelection);
            val.set_onEndTextSelection(m_onEndTextSelection);
        }