Страница 1 из 1

Корутина ушла в кому

СообщениеДобавлено: 21 июл 2023, 05:37
NOVA
Никак не пойму что происходит. Из первой корутины отправляю во вторую корутину с ожиданием, но возврата нет.
Первая корутина.
Синтаксис:
Используется csharp
if (GlobalValues.Tutor)
        {
            TutorialPanel.SetActive(true);
            yield return StartCoroutine(TutorialPanel.GetComponent<TutorialPanelScript>().TutorialTossActivate());            
        }
        Debug.Log("Корутина выполнена");

Вторая корутина
Синтаксис:
Используется csharp
public IEnumerator TutorialTossActivate()
    {
        Debug.Log("Ждём Активации Тутора");
        TutWindowActivated = true;
       
        yield return new WaitForSeconds(0.2f);

        Debug.Log("TutWindowActivated=" + TutWindowActivated);
        if (!TutTossShowed)
        {
            Debug.Log("Тутор1Активен");
           
            Open = true;
            Close = false;
            TutTossShowed = true;
        }
        yield return new WaitForSeconds(0.5f);
        yield return new WaitUntil(() => Input.GetMouseButtonDown(0));
        Open = false;
        Close = true;
        TutWindowActivated = false;
        if (GlobalValues.Players[GlobalValues.CurrentPlayerID].GetComponent<PlayerScript>().Bot == true)
        {
            GlobalValues.Players[GlobalValues.CurrentPlayerID].GetComponent<BotScript>().BotReady = true;
        }
        Debug.Log("Конец тутор корутины");
    }


Вот что выводит консоль.
Изображение

И всё. Не вижу Debug.Log("Корутина выполнена");

Re: Корутина ушла в кому

СообщениеДобавлено: 21 июл 2023, 08:06
1max1
Если это полный код, а не огрызок какой-то (а наверное так и есть), то ошибки тут нет, проверил у себя, все работает. Скорее где-то происходит подкапотная магия в виде убийства или отключения объекта, стартующего корутину, а может и вообще стоп корутин вызывается где-то в (полная Ж)

Re: Корутина ушла в кому

СообщениеДобавлено: 21 июл 2023, 17:16
NOVA
1max1 писал(а):Если это полный код, а не огрызок какой-то (а наверное так и есть), то ошибки тут нет, проверил у себя, все работает. Скорее где-то происходит подкапотная магия в виде убийства или отключения объекта, стартующего корутину, а может и вообще стоп корутин вызывается где-то в (полная Ж)

Запускающая корутина - это огрызок кода. Если yeld убрать то работает. Но там ожидание клика. Стоп корутина не знаю что это. Никакой из объектов не дестроится.

Re: Корутина ушла в кому

СообщениеДобавлено: 21 июл 2023, 18:07
1max1
Никакой из объектов не дестроится.

И не выключается? :think: