Я работаю над лазером, который срабатывает определенное количество времени перед выключением.
Я использую WaitForSeconds
, вызывая функцию огня, жду x секунд и затем выключаю ее.
Я вижу, как это работает, включая и выключая коллайдеры и спрайты в меню Unity, но они никогда физически не появляются в игре; тогда как без кода они появляются.
void Start()
{
StartCoroutine(LaserTimer());
}
void LaserFire()
{
beamCollider.enabled = true;
beamSprite.enabled = true;
}
void StopFire()
{
beamCollider.enabled = false;
beamSprite.enabled = false;
}
IEnumerator LaserTimer()
{
LaserFire();
yield return new WaitForSeconds(5);
StopFire();
yield return new WaitForSeconds(5);
}