Объявление
public void StopAllCoroutines();Описание
Остановка всех сопрограмм, работающих при таком поведении.
MonoBehaviour может выполнять ноль или более сопрограмм. Созданные сопрограммы могут выполняться несколько раз. В приведенном ниже примере скрипта создаются две сопрограммы, которые запускаются без остановки. Однако StopAllCoroutines используется для их остановки. Это действие можно выполнить в сценарии, который запускает несколько сопрограмм. Аргументы не нужны, так как все сопрограммы в скрипте остановлены.
Примечание.StopAllCoroutines работает только с одним скриптом, к которому он присоединен. .
using UnityEngine;
using System.Collections;
// Создадим две сопрограммы, работающие с разной скоростью.
// Когда нажата клавиша пробела, останавливаем их оба.
public class ExampleClass : MonoBehaviour
{
// сопрограмма 1
IEnumerator DoSomething1()
{
while (true)
{
print("DoSomething1");
yield return new WaitForSeconds(1.0f);
}
}
// сопрограмма 2
IEnumerator DoSomething2()
{
while (true)
{
print("DoSomething2");
yield return new WaitForSeconds(1.5f);
}
}
void Start()
{
StartCoroutine("DoSomething1");
StartCoroutine("DoSomething2");
}
void Update()
{
if (Input.GetKeyDown("space"))
{
StopAllCoroutines();
print("Stopped all Coroutines: " + Time.time);
}
}
}