48 lines
1.1 KiB
C#
48 lines
1.1 KiB
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
|
|
public class BreakLightsWithDelay : MonoBehaviour
|
|
{
|
|
[SerializeField] private BreakLight[] _lightToBreak;
|
|
[SerializeField] private float _delayTime;
|
|
private bool _LightsAreBroken;
|
|
|
|
private void OnTriggerEnter(Collider col)
|
|
{
|
|
if(col.gameObject.tag == "Player" && !_LightsAreBroken)
|
|
{
|
|
BreakLights();
|
|
_LightsAreBroken = true;
|
|
}
|
|
}
|
|
|
|
public void BreakLights()
|
|
{
|
|
StartCoroutine(BreakLights(_delayTime));
|
|
}
|
|
|
|
IEnumerator BreakLights(float delayTime)
|
|
{
|
|
foreach (BreakLight lightsToBreak in _lightToBreak)
|
|
{
|
|
lightsToBreak.StartCoroutine(lightsToBreak.BreakThisLight());
|
|
print("Is breaking lights");
|
|
yield return new WaitForSeconds(delayTime);
|
|
}
|
|
}
|
|
|
|
public bool AllLightsAreBroken()
|
|
{
|
|
for (int i = 0; i < _lightToBreak.Length; ++i)
|
|
{
|
|
if (_lightToBreak[i].lightIsBroken == false)
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
return true;
|
|
}
|
|
}
|