private IEnumerator _endless(RepeataSet obj) { while (true) { yield return(obj.Interval); obj.Act?.Invoke(); } }
public void AddRepeatExecute(float interval, Action func) { if (!repeatdic.ContainsKey(interval)) { repeatdic[interval] = new RepeataSet() { Interval = new WaitForSeconds(interval) }; repeatdic[interval].Act += func; StartCoroutine(_endless(repeatdic[interval])); return; } repeatdic[interval].Act += func; }