Hello,
How to fix InputField selfactivating? I build a simple chat and everything works fine till my player starts moving with WASD because my chatInput is selfactivating after few seconds and starts input wasd to chat… What’s the problem?
private int count = 1;
[SerializeField] private List<Message> messageList = new List<Message>();
[SerializeField] private int maxMessages = 25;
private string message;
public GameObject chatPanel;
public GameObject textObject;
public InputField chatInput;
public InputField chatInput;
void Update()
{
if (chatInput.text != "" && Input.GetKeyDown(KeyCode.Return))
{
SendMessageToChat(chatInput.text);
chatInput.text = "";
}
else
{
if(!chatInput.isFocused && Input.GetKeyDown(KeyCode.Return))
chatInput.ActivateInputField();
}
public void SendMessageToChat(string text)
{
if (messageList.Count >= maxMessages)
{
Destroy(messageList[0].textObject.gameObject);
messageList.Remove(messageList[0]);
}
Message newMessage = new Message();
newMessage.text = text;
GameObject newText = Instantiate(textObject, chatPanel.transform);
newMessage.textObject = newText.GetComponentInChildren<Text>();
newMessage.textObject.text = newMessage.text;
/*
Image image = newText.GetComponentInChildren<Image>();
if (count == 1)
{
image.color = Color.green;
count = 2;
}
else
{
image.color = Color.magenta;
count = 1;
}
*/
messageList.Add(newMessage);
}