public static GameObject CreateInputField(Resources resources) { GameObject root = CreateUIElementRoot("IMC InputField", s_ThickElementSize); GameObject childPlaceholder = CreateUIObject("Placeholder", root); GameObject childText = CreateUIObject("Text", root); IMCImage image = root.AddComponent <IMCImage>(); image.sprite = resources.inputField; image.type = IMCImage.Type.Sliced; image.color = s_DefaultSelectableColor; IMCInputField inputField = root.AddComponent <IMCInputField>(); SetDefaultColorTransitionValues(inputField); IMCText text = childText.AddComponent <IMCText>(); text.text = ""; text.supportRichText = false; SetDefaultTextValues(text); IMCText placeholder = childPlaceholder.AddComponent <IMCText>(); placeholder.text = "Enter text..."; placeholder.fontStyle = FontStyle.Italic; // Make placeholder color half as opaque as normal text color. Color placeholderColor = text.color; placeholderColor.a *= 0.5f; placeholder.color = placeholderColor; RectTransform textRectTransform = childText.GetComponent <RectTransform>(); textRectTransform.anchorMin = Vector2.zero; textRectTransform.anchorMax = Vector2.one; textRectTransform.sizeDelta = Vector2.zero; textRectTransform.offsetMin = new Vector2(10, 6); textRectTransform.offsetMax = new Vector2(-10, -7); RectTransform placeholderRectTransform = childPlaceholder.GetComponent <RectTransform>(); placeholderRectTransform.anchorMin = Vector2.zero; placeholderRectTransform.anchorMax = Vector2.one; placeholderRectTransform.sizeDelta = Vector2.zero; placeholderRectTransform.offsetMin = new Vector2(10, 6); placeholderRectTransform.offsetMax = new Vector2(-10, -7); inputField.textComponent = text; inputField.placeholder = placeholder; return(root); }
public override void OnInspectorGUI() { IMCInputField inputField = (IMCInputField)target; //EditorGUI.BeginDisabledGroup(true); //inputField.ControlType = (ControlType)EditorGUILayout.EnumPopup("ControlType", inputField.ControlType); //inputField.ContainerType = (ContainerType)EditorGUILayout.EnumPopup("ContainerType", inputField.ContainerType); //EditorGUI.EndDisabledGroup(); inputField.customID = EditorGUILayout.TextField("CustomID", inputField.customID); serializedObject.Update(); base.OnInspectorGUI(); EditorGUILayout.Space(); EditorGUILayout.PropertyField(m_TextComponent); if (m_TextComponent != null && m_TextComponent.objectReferenceValue != null) { IMCText text = m_TextComponent.objectReferenceValue as IMCText; if (text.supportRichText) { EditorGUILayout.HelpBox("Using Rich Text with input is unsupported.", MessageType.Warning); } } EditorGUI.BeginDisabledGroup(m_TextComponent == null || m_TextComponent.objectReferenceValue == null); EditorGUILayout.PropertyField(m_Text); EditorGUILayout.PropertyField(m_CharacterLimit); EditorGUILayout.Space(); EditorGUILayout.PropertyField(m_ContentType); if (!m_ContentType.hasMultipleDifferentValues) { EditorGUI.indentLevel++; if (m_ContentType.enumValueIndex == (int)IMCInputField.ContentType.Standard || m_ContentType.enumValueIndex == (int)IMCInputField.ContentType.Autocorrected || m_ContentType.enumValueIndex == (int)IMCInputField.ContentType.Custom) { EditorGUILayout.PropertyField(m_LineType); } if (m_ContentType.enumValueIndex == (int)IMCInputField.ContentType.Custom) { EditorGUILayout.PropertyField(m_InputType); EditorGUILayout.PropertyField(m_KeyboardType); EditorGUILayout.PropertyField(m_CharacterValidation); } EditorGUI.indentLevel--; } EditorGUILayout.Space(); EditorGUILayout.PropertyField(m_Placeholder); EditorGUILayout.PropertyField(m_CaretBlinkRate); EditorGUILayout.PropertyField(m_CaretWidth); EditorGUILayout.PropertyField(m_CustomCaretColor); m_CustomColor.target = m_CustomCaretColor.boolValue; if (EditorGUILayout.BeginFadeGroup(m_CustomColor.faded)) { EditorGUILayout.PropertyField(m_CaretColor); } EditorGUILayout.EndFadeGroup(); EditorGUILayout.PropertyField(m_SelectionColor); EditorGUILayout.PropertyField(m_HideMobileInput); EditorGUILayout.PropertyField(m_ReadOnly); EditorGUILayout.Space(); EditorGUILayout.PropertyField(m_OnValueChanged); EditorGUILayout.PropertyField(m_OnEndEdit); EditorGUI.EndDisabledGroup(); serializedObject.ApplyModifiedProperties(); }