/// <summary>
 /// Raise an event with routines-delegates.
 /// </summary>
 /// <param name="evnt">Event to raise</param>
 /// <param name="runner">Routine runner</param>
 /// <param name="action">Routines to start</param>
 /// <returns>Coroutine</returns>
 public static Coroutine YieldForEach(this System.MulticastDelegate evnt, MonoBehaviour runner, System.Func <System.Delegate, IEnumerator> action)
 {
     return(runner.StartCoroutine(evnt.YieldForEach((d) => runner.StartCoroutine(action(d)))));
 }