public InputComponent( UIGroup uiGroup, Vector2 position, Vector2 size, string defaultValue, string placeholderText, Texture2D texture, Font font, int fontSize = 13, InputField.CharacterValidation characterValidation = InputField.CharacterValidation.None ) : base(uiGroup, position, size) { // Create background image var image = GameObject.AddComponent <Image>(); image.sprite = CreateSpriteFromTexture(texture); image.type = Image.Type.Simple; var placeholder = new GameObject(); placeholder.AddComponent <RectTransform>().sizeDelta = size; var placeholderTextComponent = placeholder.AddComponent <Text>(); placeholderTextComponent.text = placeholderText; placeholderTextComponent.font = font; placeholderTextComponent.fontSize = fontSize; placeholderTextComponent.alignment = TextAnchor.MiddleCenter; // Make the color black with opacity so it is clearly different from inputted text placeholderTextComponent.color = new Color(0, 0, 0, 0.5f); // Set the transform parent to the InputComponent gameObject placeholder.transform.SetParent(GameObject.transform, false); Object.DontDestroyOnLoad(placeholder); var textObject = new GameObject(); textObject.AddComponent <RectTransform>().sizeDelta = size; var textComponent = textObject.AddComponent <Text>(); textComponent.text = defaultValue; textComponent.font = font; textComponent.fontSize = fontSize; textComponent.alignment = TextAnchor.MiddleCenter; textComponent.color = Color.black; // Set the transform parent to the InputComponent gameObject textObject.transform.SetParent(GameObject.transform, false); Object.DontDestroyOnLoad(textObject); // Create the actual inputField component _inputField = GameObject.AddComponent <InputField>(); _inputField.targetGraphic = image; _inputField.placeholder = placeholderTextComponent; _inputField.textComponent = textComponent; _inputField.text = defaultValue; _inputField.characterValidation = characterValidation; }
public HiddenInputComponent( ComponentGroup componentGroup, Vector2 position, Vector2 size, string defaultValue, string placeholderText, Texture2D texture, Font font, int fontSize = 13, InputField.CharacterValidation characterValidation = InputField.CharacterValidation.None ) : base( componentGroup, position, size, defaultValue, placeholderText, texture, font, fontSize, characterValidation ) { var buttonComponent = new ButtonComponent( componentGroup, position, size, "Click to show", texture, font, new Color(0, 0, 0, 0.5f), fontSize ); // Disable the original input component object GameObject.SetActive(false); // Hide our block object and show the input component on click buttonComponent.SetOnPress(() => { buttonComponent.SetActive(false); GameObject.SetActive(true); }); // Add a handler for when we leave the component with our cursor, // which is when we enable the block object again and hide the input component GameObject.AddComponent <HiddenButtonLeaveHandler>().Action = () => { buttonComponent.SetActive(true); GameObject.SetActive(false); }; }
private static int set_characterValidation(IntPtr L) { object obj = null; int result; try { obj = ToLua.ToObject(L, 1); InputField inputField = (InputField)obj; InputField.CharacterValidation characterValidation = (InputField.CharacterValidation)((int)ToLua.CheckObject(L, 2, typeof(InputField.CharacterValidation))); inputField.characterValidation = characterValidation; result = 0; } catch (Exception ex) { result = LuaDLL.toluaL_exception(L, ex, (obj != null) ? ex.Message : "attempt to index characterValidation on a nil value"); } return(result); }
private TMP_InputField.CharacterValidation GetTMPCharacterValidation(InputField.CharacterValidation characterValidation) { switch (characterValidation) { case InputField.CharacterValidation.Alphanumeric: return(TMP_InputField.CharacterValidation.Alphanumeric); case InputField.CharacterValidation.Decimal: return(TMP_InputField.CharacterValidation.Decimal); case InputField.CharacterValidation.EmailAddress: return(TMP_InputField.CharacterValidation.EmailAddress); case InputField.CharacterValidation.Integer: return(TMP_InputField.CharacterValidation.Integer); case InputField.CharacterValidation.Name: return(TMP_InputField.CharacterValidation.Name); case InputField.CharacterValidation.None: return(TMP_InputField.CharacterValidation.None); default: return(TMP_InputField.CharacterValidation.None); } }
private static int get_characterValidation(IntPtr L) { object obj = null; int result; try { obj = ToLua.ToObject(L, 1); InputField inputField = (InputField)obj; InputField.CharacterValidation characterValidation = inputField.characterValidation; ToLua.Push(L, characterValidation); result = 1; } catch (Exception ex) { result = LuaDLL.toluaL_exception(L, ex, (obj != null) ? ex.Message : "attempt to index characterValidation on a nil value"); } return(result); }
public HiddenInputComponent( GameObject parent, Vector2 position, string defaultValue, string placeholderText, int fontSize = 18, InputField.CharacterValidation characterValidation = InputField.CharacterValidation.None ) : this( parent, position, new Vector2(200, 30), defaultValue, placeholderText, TextureManager.InputFieldBackground, FontManager.UIFontRegular, fontSize, characterValidation ) { }
protected HiddenInputComponent( ComponentGroup componentGroup, Vector2 position, string defaultValue, string placeholderText, int fontSize, InputField.CharacterValidation characterValidation = InputField.CharacterValidation.None ) : this( componentGroup, position, new Vector2(DefaultWidth, DefaultHeight), defaultValue, placeholderText, TextureManager.InputFieldBg, FontManager.UIFontRegular, fontSize, characterValidation ) { }
public InputComponent( ComponentGroup componentGroup, Vector2 position, string defaultValue, string placeholderText, InputField.CharacterValidation characterValidation = InputField.CharacterValidation.None, int characterLimit = 0 ) : this( componentGroup, position, new Vector2(DefaultWidth, DefaultHeight), defaultValue, placeholderText, TextureManager.InputFieldBg, FontManager.UIFontRegular, UiManager.NormalFontSize, characterValidation, characterLimit ) { }
public static IIgniteGUIGroup AddInputField(this IIgniteGUIGroup group, string label, Action <string> onValueChanged = null, Action <string> onEndEdit = null, string initialValue = null, string placeHolder = null, InputField.CharacterValidation characterValidation = InputField.CharacterValidation.None, bool readOnly = false, float?width = null) { return(group.Add(IgniteHorizontalGroup.Create().AddLabel(label).AddInputField(onValueChanged, onEndEdit, initialValue, placeHolder, characterValidation, readOnly, width) as IgniteHorizontalGroup)); }
public static IgniteInputField Create(Action <string> onValueChanged = null, Action <string> onEndEdit = null, string initialValue = null, string placeHolder = null, InputField.CharacterValidation characterValidation = InputField.CharacterValidation.None, bool readOnly = false, float?width = null) { var instance = Instantiate(Resources.Load <GameObject>("IgniteGUI/InputField")).GetComponent <IgniteInputField>(); instance.backgroundImage.color = IgniteGUISettings.InputFieldColor; instance.inputField.characterValidation = characterValidation; instance.inputField.readOnly = readOnly; instance.SetSize(width ?? IgniteGUISettings.ElementWidth, IgniteGUISettings.ElementHeight); instance.inputField.textComponent.font = IgniteGUISettings.Font; instance.inputField.textComponent.fontSize = IgniteGUISettings.FontSize; instance.inputField.textComponent.resizeTextMaxSize = IgniteGUISettings.FontSize; instance.inputField.textComponent.color = IgniteGUISettings.FontColor; instance.placeHolderText.font = IgniteGUISettings.Font; instance.placeHolderText.fontSize = IgniteGUISettings.FontSize; instance.placeHolderText.resizeTextMaxSize = IgniteGUISettings.FontSize; instance.placeHolderText.color = new Color(IgniteGUISettings.FontColor.r, IgniteGUISettings.FontColor.g, IgniteGUISettings.FontColor.b, 0.5f); if (onValueChanged != null) { instance.inputField.onValueChanged.AddListener(new UnityAction <string>(onValueChanged)); } if (onEndEdit != null) { instance.inputField.onEndEdit.AddListener(new UnityAction <string>(onEndEdit)); } if (initialValue != null) { instance.inputField.text = initialValue; } if (placeHolder != null) { instance.placeHolderText.text = placeHolder; } return(instance); }
public HiddenInputComponent( GameObject parent, Vector2 position, Vector2 size, string defaultValue, string placeholderText, Texture2D texture, Font font, int fontSize = 13, InputField.CharacterValidation characterValidation = InputField.CharacterValidation.None ) : base( parent, position, size, defaultValue, placeholderText, texture, font, fontSize, characterValidation ) { // Create a new object so we can switch between the block object // and the input object to manage the hidden state var blockObject = new GameObject(); blockObject.AddComponent <CanvasRenderer>(); Object.DontDestroyOnLoad(blockObject); var rectTransform = blockObject.AddComponent <RectTransform>(); rectTransform.position = position; rectTransform.sizeDelta = size; blockObject.transform.SetParent(parent.transform); // Add the background image to the block object var blockImage = blockObject.AddComponent <Image>(); blockImage.sprite = CreateSpriteFromTexture(texture); blockImage.type = Image.Type.Simple; // Add the show text to the block object var showText = new GameObject(); showText.AddComponent <RectTransform>().sizeDelta = size; var placeholderTextComponent = showText.AddComponent <Text>(); placeholderTextComponent.text = "Click to show"; placeholderTextComponent.font = font; placeholderTextComponent.fontSize = fontSize; placeholderTextComponent.alignment = TextAnchor.MiddleCenter; placeholderTextComponent.color = new Color(0, 0, 0, 0.5f); // Set the transform parent showText.transform.SetParent(blockObject.transform, false); Object.DontDestroyOnLoad(showText); // Disable the original input component object GameObject.SetActive(false); // Add a button component so we can click it to show the input component var blockButton = blockObject.AddComponent <Button>(); // Hide our block object and show the input component on click blockButton.onClick.AddListener(() => { blockObject.SetActive(false); GameObject.SetActive(true); }); // Add a handler for when we leave the component with our cursor, // which is when we enable the block object again and hide the input component var hiddenButtonLeaveHandler = GameObject.AddComponent <HiddenButtonLeaveHandler>(); hiddenButtonLeaveHandler.DeactivateObject = GameObject; hiddenButtonLeaveHandler.ActivateObject = blockObject; }
public void HonorsCharacterValidationSettingsAssignment(string input, string output, InputField.CharacterValidation validation) { InputField inputField = m_PrefabRoot.GetComponentInChildren <InputField>(); inputField.characterValidation = validation; inputField.text = input; Assert.AreEqual(output, inputField.text, string.Format("Failed character validation: input ={0}, output ={1}, validation ={2}", input.Replace(kEmailSpecialCharacters, "specialchars"), output.Replace(kEmailSpecialCharacters, "specialchars"), validation)); }
private HiddenInputComponent( ComponentGroup componentGroup, Vector2 position, Vector2 size, string defaultValue, string placeholderText, MultiStateSprite bgSprite, Font font, int fontSize, InputField.CharacterValidation characterValidation = InputField.CharacterValidation.None ) : base( componentGroup, position, size, defaultValue, placeholderText, bgSprite, font, fontSize, characterValidation ) { _isHidden = true; _currentInput = defaultValue; InputField.text = HiddenText; SetTextAlpha(NotInteractableOpacity); var eventTrigger = GameObject.GetComponent <EventTrigger>(); eventTrigger.triggers.Clear(); AddEventTrigger(eventTrigger, EventTriggerType.PointerEnter, data => { if (Interactable) { Image.sprite = bgSprite.Hover; } }); AddEventTrigger(eventTrigger, EventTriggerType.PointerExit, data => { if (Interactable) { Image.sprite = bgSprite.Neutral; if (!_isHidden) { _currentInput = InputField.text; InputField.text = HiddenText; SetTextAlpha(NotInteractableOpacity); } _isHidden = true; } }); AddEventTrigger(eventTrigger, EventTriggerType.PointerDown, data => { if (Interactable) { Image.sprite = bgSprite.Active; InputField.text = _currentInput; SetTextAlpha(1f); _isHidden = false; } }); }
public InputComponent( ComponentGroup componentGroup, Vector2 position, Vector2 size, string defaultValue, string placeholderText, MultiStateSprite bgSprite, Font font, int fontSize, InputField.CharacterValidation characterValidation = InputField.CharacterValidation.None, int characterLimit = 0 ) : base(componentGroup, position, size) { _bgSprite = bgSprite; Interactable = true; // Create background image Image = GameObject.AddComponent <Image>(); Image.sprite = bgSprite.Neutral; Image.type = Image.Type.Sliced; var placeholder = new GameObject(); placeholder.AddComponent <RectTransform>().sizeDelta = size; var placeholderTextComponent = placeholder.AddComponent <Text>(); placeholderTextComponent.text = placeholderText; placeholderTextComponent.font = font; placeholderTextComponent.fontSize = fontSize; placeholderTextComponent.alignment = TextAnchor.MiddleCenter; // Make the color white with opacity so it is clearly different from inputted text placeholderTextComponent.color = new Color(1f, 1f, 1f, 0.5f); // Set the transform parent to the InputComponent gameObject placeholder.transform.SetParent(GameObject.transform, false); Object.DontDestroyOnLoad(placeholder); var textObject = new GameObject(); textObject.AddComponent <RectTransform>().sizeDelta = size - new Vector2(TextMargin * 2f, 0f); Text = textObject.AddComponent <Text>(); Text.text = defaultValue; Text.font = font; Text.fontSize = fontSize; Text.alignment = TextAnchor.MiddleCenter; Text.color = Color.white; // Set the transform parent to the InputComponent gameObject textObject.transform.SetParent(GameObject.transform, false); Object.DontDestroyOnLoad(textObject); // Create the actual inputField component InputField = GameObject.AddComponent <InputField>(); InputField.targetGraphic = Image; InputField.placeholder = placeholderTextComponent; InputField.textComponent = Text; InputField.text = defaultValue; InputField.characterValidation = characterValidation; InputField.characterLimit = characterLimit; InputField.shouldActivateOnSelect = false; InputField.onValueChanged.AddListener(value => { _onChange?.Invoke(value); }); var eventTrigger = GameObject.AddComponent <EventTrigger>(); AddEventTrigger(eventTrigger, EventTriggerType.PointerEnter, data => { if (Interactable) { Image.sprite = bgSprite.Hover; } }); AddEventTrigger(eventTrigger, EventTriggerType.PointerExit, data => { if (Interactable) { Image.sprite = bgSprite.Neutral; } }); AddEventTrigger(eventTrigger, EventTriggerType.PointerDown, data => { if (Interactable) { Image.sprite = bgSprite.Active; } }); }
public static IIgniteGUIGroup AddInputFieldWithButton(this IIgniteGUIGroup group, string label, string buttonName, Action <string> onButtonClick, Action <string> onValueChanged = null, Action <string> onEndEdit = null, string initialValue = null, string placeHolder = null, InputField.CharacterValidation characterValidation = InputField.CharacterValidation.None, bool readOnly = false, float?width = null) { var inputField = IgniteInputField.Create(onValueChanged, onEndEdit, initialValue, placeHolder, characterValidation, readOnly, width); return(group.Add(IgniteHorizontalGroup.Create().AddLabel(label).Add(inputField).AddButton(buttonName, () => onButtonClick(inputField.Text)) as IgniteHorizontalGroup)); }
public CharValidationTestData(string input, string output, InputField.CharacterValidation validation) { this.input = input; this.output = output; this.validation = validation; }
protected void EnforceContentType() { switch (contentType) { case InputField.ContentType.Standard: { // Don't enforce line type for this content type. m_InputType = InputField.InputType.Standard; m_KeyboardType = TouchScreenKeyboardType.Default; m_CharacterValidation = InputField.CharacterValidation.None; return; } case InputField.ContentType.Autocorrected: { // Don't enforce line type for this content type. m_InputType = InputField.InputType.AutoCorrect; m_KeyboardType = TouchScreenKeyboardType.Default; m_CharacterValidation = InputField.CharacterValidation.None; return; } case InputField.ContentType.IntegerNumber: { m_LineType = InputField.LineType.SingleLine; SetTextComponentWrapMode(false); m_InputType = InputField.InputType.Standard; m_KeyboardType = TouchScreenKeyboardType.NumberPad; m_CharacterValidation = InputField.CharacterValidation.Integer; return; } case InputField.ContentType.DecimalNumber: { m_LineType = InputField.LineType.SingleLine; SetTextComponentWrapMode(false); m_InputType = InputField.InputType.Standard; m_KeyboardType = TouchScreenKeyboardType.NumbersAndPunctuation; m_CharacterValidation = InputField.CharacterValidation.Decimal; return; } case InputField.ContentType.Alphanumeric: { m_LineType = InputField.LineType.SingleLine; SetTextComponentWrapMode(false); m_InputType = InputField.InputType.Standard; m_KeyboardType = TouchScreenKeyboardType.ASCIICapable; m_CharacterValidation = InputField.CharacterValidation.Alphanumeric; return; } case InputField.ContentType.Name: { m_LineType = InputField.LineType.SingleLine; SetTextComponentWrapMode(false); m_InputType = InputField.InputType.Standard; m_KeyboardType = TouchScreenKeyboardType.Default; m_CharacterValidation = InputField.CharacterValidation.Name; return; } case InputField.ContentType.EmailAddress: { m_LineType = InputField.LineType.SingleLine; SetTextComponentWrapMode(false); m_InputType = InputField.InputType.Standard; m_KeyboardType = TouchScreenKeyboardType.EmailAddress; m_CharacterValidation = InputField.CharacterValidation.EmailAddress; return; } case InputField.ContentType.Password: { m_LineType = InputField.LineType.SingleLine; SetTextComponentWrapMode(false); m_InputType = InputField.InputType.Password; m_KeyboardType = TouchScreenKeyboardType.Default; m_CharacterValidation = InputField.CharacterValidation.None; return; } case InputField.ContentType.Pin: { m_LineType = InputField.LineType.SingleLine; SetTextComponentWrapMode(false); m_InputType = InputField.InputType.Password; m_KeyboardType = TouchScreenKeyboardType.NumberPad; m_CharacterValidation = InputField.CharacterValidation.Integer; return; } default: { // Includes Custom type. Nothing should be enforced. return; } } }
public IEnumerator HonorsCharacterValidationSettingsTypingWithSelection(string input, string output, InputField.CharacterValidation validation) { if (!TouchScreenKeyboard.isSupported) { yield break; } InputField inputField = m_PrefabRoot.GetComponentInChildren <InputField>(); BaseEventData eventData = new BaseEventData(m_PrefabRoot.GetComponentInChildren <EventSystem>()); inputField.characterValidation = validation; inputField.text = input; inputField.OnSelect(eventData); yield return(null); Assert.AreEqual(output, inputField.text, string.Format("Failed character validation: input ={0}, output ={1}, validation ={2}", input.Replace(kEmailSpecialCharacters, "specialchars"), output.Replace(kEmailSpecialCharacters, "specialchars"), validation)); }
public SettingTextBox AddTextBox(string id, string name, string value, UnityAction action, string placeholder = "ENTER TEXT...", InputField.CharacterValidation inputType = InputField.CharacterValidation.None) => null;