/// <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))))); }