public void InvokeDelegate(System.Action func, float time)
{
StartCoroutine(InvokeDelegateCor(func, time));
}
private IEnumerator InvokeDelegateCor(System.Action func, float time)
{
float timer = 0f;
while (timer < time)
{
yield return null;
timer += Time.deltaTime;
}
func();
}
Потом под себя перенастроишь