Inheritance: MonoBehaviour
    private IEnumerator CreateFireZoneCoroutine()
    {
        FireZone fireZone = null;

        do
        {
            fireZone = _fireZones[Random.Range(0, _fireZones.Length)];
        }while (fireZone == null || _activeFireZones.Contains(fireZone) || _creatingFireZones.Contains(fireZone));

        _creatingFireZones.Add(fireZone);

        yield return(new WaitForSeconds(_timeBetweenFireZones.Evaluate(_time)));

        fireZone.value = _fireZonesValue.Evaluate(_time);

        fireZone.enabled = true;

        _creatingFireZones.Remove(fireZone);
        _activeFireZones.Add(fireZone);
        _gameOverCoroutines.Add(fireZone, StartCoroutine(GameOverCoroutine()));
    }