/// <summary> /// 指定した秒数の間、 Update のたびに実行し、繰り返します。 /// </summary> /// <returns>Coroutine.</returns> /// <param name="seconds">Seconds.</param> /// <param name="update">Update action.引数に(繰り返し回数,経過秒数)を持ちます。</param> /// <param name="finish">Finish action.引数に繰り返し回数を持ちます。</param> public static Coroutine DoRepeatedlyOnUpdateInSeconds(this MonoBehaviour self, float seconds, Action <int, float> update, Action <int> finish = null) { if (seconds <= 0) { return(null); } else if (update == null) { return(self.DoRepeatedly(seconds, false, finish)); } else { return(self.StartCoroutine(DoRepeatedlyOnUpdateInSecondsCoroutine(seconds, update, finish))); } }
/// <summary> /// 指定した秒数の間隔で、実行を繰り返します。 /// </summary> /// <returns>Coroutine.</returns> /// <param name="interval">Interval.</param> /// <param name="immediate"><c>true</c>ならば、1度目をすぐに実行します。</param> /// <param name="action">Action.引数に繰り返し回数を持ちます。</param> public static Coroutine DoRepeatedly(this MonoBehaviour self, float interval, bool immediate, Action <int> action) { return(self.DoRepeatedly(interval, immediate, -1, action)); }
/// <summary> /// 指定した秒数の間隔で、実行を繰り返します。 /// 1度目はすぐに実行されます。 /// </summary> /// <returns>Coroutine.</returns> /// <param name="interval">Interval.</param> /// <param name="action">Action.引数に繰り返し回数を持ちます。</param> public static Coroutine DoRepeatedly(this MonoBehaviour self, float interval, Action <int> action) { return(self.DoRepeatedly(interval, true, action)); }