Метод вызывается неограниченное число раз

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 висел не на создаваемом объекте, а на его потомке. Но вопрос остаётся открытым. Почему строка выполняется бесконечно, не переходя к следующей?


Ответы (0 шт):