Синтаксис:
Используется csharp
public void SetPlay()
{
StartCoroutine(CorutineUpdateSpawningUnit(new WaitForSeconds(15)));
}
#region Corutines
private IEnumerator CorutineUpdateSpawningUnit(WaitForSeconds wait)
{
yield return wait;
_stateWave.IsGetUnitId(out int id, out bool isNewGroup, out bool isNewWave, out bool isEnd);
if (isEnd)
yield break;
if (isNewWave)
{
StartCoroutine(CorutineUpdateSpawningUnit(_timerWave));
yield break;
}
if (isNewGroup)
{
StartCoroutine(CorutineUpdateSpawningUnit(_timerGroup));
yield break;
}
SpawnUnit(id);
StartCoroutine(CorutineUpdateSpawningUnit(_timerUnit));
yield break;
}
#endregion
{
StartCoroutine(CorutineUpdateSpawningUnit(new WaitForSeconds(15)));
}
#region Corutines
private IEnumerator CorutineUpdateSpawningUnit(WaitForSeconds wait)
{
yield return wait;
_stateWave.IsGetUnitId(out int id, out bool isNewGroup, out bool isNewWave, out bool isEnd);
if (isEnd)
yield break;
if (isNewWave)
{
StartCoroutine(CorutineUpdateSpawningUnit(_timerWave));
yield break;
}
if (isNewGroup)
{
StartCoroutine(CorutineUpdateSpawningUnit(_timerGroup));
yield break;
}
SpawnUnit(id);
StartCoroutine(CorutineUpdateSpawningUnit(_timerUnit));
yield break;
}
#endregion