I want to activate a cursor after using MoveTextEnd
I want to activate a cursor after using MoveTextEnd MoveTextEnd works well. But I can't move cursor in the middle of the text of inputfield. I want to remove highlight and use cursor in the middle of the text of inputfield. help me please.
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using UnityEngine.EventSystems;
public class changeCursorAuto : MonoBehaviour {
public InputField inputField01; public InputField inputField02; public InputField inputField03; public InputField inputField04; public InputField inputField05;
private string ans0101;
private string ans0102;
private string ans0103;
private string ans0104;
void Start()
{
inputField01.ActivateInputField();
inputField01 = inputField01.GetComponent<InputField>();
inputField02 = inputField02.GetComponent<InputField>();
inputField03 = inputField03.GetComponent<InputField>();
inputField04 = inputField04.GetComponent<InputField>();
this.ans0101 = "a";
this.ans0102 = "b";
this.ans0103 = "c";
this.ans0104 = "d";
}
void Update()
{
if ((inputField01.isFocused && inputField01.text == ans0101 && inputField02.text != ans0102) || (inputField01.isFocused && Input.GetKeyUp(KeyCode.Return)))
{
//inputField02.ActivateInputField();
inputField02.Select();
}
else if ((inputField02.isFocused && inputField02.text == ans0102 && inputField03.text != ans0103) || (inputField02.isFocused && Input.GetKeyUp(KeyCode.Return)))
{
// inputField03.ActivateInputField();
inputField03.Select();
}
else if ((inputField03.isFocused && inputField03.text == ans0103 && inputField04.text != ans0104) || (inputField03.isFocused && Input.GetKeyUp(KeyCode.Return)))
{
// inputField04.ActivateInputField();
inputField04.Select();
}
else if ((inputField04.isFocused && inputField04.text == ans0104 && inputField01.text != ans0101) || (inputField04.isFocused && Input.GetKeyUp(KeyCode.Return)))
{
// inputField01.ActivateInputField();
inputField01.Select();
}
////////////////////////////disable highlight////////////////////////////////////////////////////////
if (inputField01.isFocused)
{
inputField01.ActivateInputField();
StartCoroutine(endtext(1));
}
else if (inputField02.isFocused)
{
inputField02.ActivateInputField();
StartCoroutine(endtext(2));
}
else if (inputField03.isFocused)
{
inputField03.ActivateInputField();
StartCoroutine(endtext(3));
}
else if (inputField04.isFocused)
{
inputField04.ActivateInputField();
StartCoroutine(endtext(4));
}
}
IEnumerator endtext(int n)
{
if (n == 1)
{
yield return null;
inputField01.MoveTextEnd(false);
inputField01.ActivateInputField();//error
}
else if (n == 2)
{
yield return null;
inputField02.MoveTextEnd(false);
inputField02.ActivateInputField();//error
}
else if (n == 3)
{
yield return null;
inputField03.MoveTextEnd(false);
inputField03.ActivateInputField();//error
}
else if (n == 4)
{
yield return null;
inputField04.MoveTextEnd(false);
inputField04.ActivateInputField();//error
}
}
}
Your answer
Follow this Question
Related Questions
After pressing enter on an Inputfield, it doesn't do what it should 0 Answers
Mousing over input field highlights all parent objects if they have a button component 0 Answers
Why do custom hardware cursors only work in exclusive mode? 0 Answers
MouseOver 1 Answer
How can I make my cursor to follow more faster? (there's too much delay) 0 Answers