UITextField.SetInputText C# (CSharp) Method

SetInputText() public method

public SetInputText ( string inputText, int &insertPt ) : string
inputText string
insertPt int
return string
	public string SetInputText(string inputText, ref int insertPt)
	{
		// Validate our input:
		if(!multiline)
		{
			int idx;
			// Check for Enter:
			if ((idx = inputText.IndexOf('\n')) != -1)
			{
				inputText = inputText.Remove(idx, 1);
				UIManager.instance.FocusObject = null;
			}
			if ((idx = inputText.IndexOf('\r')) != -1)
			{
				inputText = inputText.Remove(idx, 1);
				UIManager.instance.FocusObject = null;
			}
		}

		if (inputText.Length > maxLength && maxLength > 0)
		{
			// Set our changed delegate to null so we can
			// assign to our Text property without firing
			// it in order that the delegate gets the
			// correct value for maxLengthExceeded:
			EZValueChangedDelegate tempDel = changeDelegate;
			changeDelegate = null;

			Text = inputText.Substring(0, maxLength);
			insert = Mathf.Clamp(insertPt, 0, maxLength);

			maxLengthExceeded = true;
			changeDelegate = tempDel;

			if (changeDelegate != null)
				changeDelegate(this);

			if (fieldFullSound != null)
				fieldFullSound.PlayOneShot(fieldFullSound.clip);
		}
		else
		{
			Text = inputText;
			insert = insertPt;

			if (typingSoundEffect != null)
				typingSoundEffect.PlayOneShot(typingSoundEffect.clip);

			if (changeDelegate != null)
				changeDelegate(this);
		}

/*
		if (text.Length > 0)
		{
			if (caret != null)
				if (caret.IsHidden())
					ShowCaret();
		}
		else
			HideCaret();
*/

		if(caret != null)
		{
			if (caret.IsHidden() && hasFocus)
				caret.Hide(false);
		}
		// It's okay, PositionCaret() checks to see
		// if caret is null, and it performs some
		// non-caret functions too:
		PositionCaret();

		// See if enter was pressed and we didn't already handle it:
		if (UIManager.instance.FocusObject == null && !commitOnLostFocus)
			Commit();

		return text;
	}