Функция IEnumerator перезаписывается новыми вызовами функцийC#

Место общения программистов C#
Ответить
Гость
 Функция IEnumerator перезаписывается новыми вызовами функций

Сообщение Гость »

У меня есть дверная система, которую я сейчас тестирую. Это происходит через функцию IEnumerator, однако, если я открою одну дверь, а затем быстро другую, первая дверь остановится на том месте, где она была, и вторая дверь получит приоритет. Есть ли обходные пути?

Код: Выделить всё

public IEnumerator Animthingy(GameObject Object)
{
yield return new WaitForSeconds(1.5f);

AudioSource.PlayClipAtPoint(DoorOpen, Object.transform.parent.gameObject.transform.position, 2f);

anim.SetBool("IsOpen", true);
anim.SetBool("Activated", true);
AudioSource.PlayClipAtPoint(DoorClose, Object.transform.parent.gameObject.transform.position, 2f);

anim.Play("DoorOpen");
anim.SetBool("Activated", false);
yield return new WaitForSeconds(3f);

AudioSource.PlayClipAtPoint(DoorOpen2, Object.transform.parent.gameObject.transform.position, 2f);

yield return new WaitForSeconds(3f);
AudioSource.PlayClipAtPoint(DoorClose, Object.transform.parent.gameObject.transform.position, 2f);

yield return new WaitForSeconds(1.5f);

AudioSource.PlayClipAtPoint(DoorClose2, Object.transform.parent.gameObject.transform.position, 2f);

yield return new WaitForSeconds(1f);
Debug.Log("closing");
anim.Play("DoorClose");
AudioSource.PlayClipAtPoint(DoorOpen, Object.transform.parent.gameObject.transform.position, 2f);
yield break;
}
Дверь 1 открывается, дверь 2 открывается, дверь 1 не закрывается, а дверь 2 закрывается.

Подробнее здесь: https://stackoverflow.com/questions/781 ... tion-calls
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»