Метод вызывается неограниченное число раз
public class Messages : MonoBehaviour
{
[SerializeField]
GameObject messagePrefab;
Message currentMessage = new Message(true);
public List<string> messages = new List<string>();
public Message MakeMessage(string message)
{
var res = Instantiate(messagePrefab, this.transform).GetComponent<Message>();
res.SetMessage = message;
return res;
}
private void Update()
{
if (currentMessage.IsClosing)
{
currentMessage = MakeMessage(messages[0]);
messages.RemoveAt(0);
}
}
}
Почему строка currentMessage = MakeMessage(messages[0]); выполняет неограниченное число раз, не переходя к следующей?
Оказалось, что компонент Message висел не на создаваемом объекте, а на его потомке. Но вопрос остаётся открытым. Почему строка выполняется бесконечно, не переходя к следующей?