/// <summary> /// Resumes every job tagged with 'tag(s)'. /// </summary> /// <param name="tag">The tag(s) of the jobs to be resumed.</param> public static void Resume(params string[] tags) { for (int i = 0; i < tags.Length; i++) { ScheduleBridge.Resume(SuperInvokeTag.GetInstance(tags[i])); } }
private static IJobRepeat ActualRunRepeat(Action method, string tag, RepeatSettings repeatSettings) { CheckMethod(method); CheckDelay(repeatSettings.delay); JobRepeat jobRepeat = null; if (repeatSettings.repeats == INFINITY || repeatSettings.repeats > 0) //if repeats == 0 it does nothing { jobRepeat = new JobRepeat() { TotalRepeatsNumber = repeatSettings.repeats }; Sequence sequence = Sequence.MakeInstance(); sequence.SetGroupTag(SuperInvokeTag.GetInstance(tag)); sequence.AddSingleTask(SingleTask.MakeInstance(method, 0, tag)); sequence.SetIterativeMode(repeatSettings); sequence.SetJob(jobRepeat); ScheduleBridge.Schedule(sequence); } return(jobRepeat); }
/// <summary> /// Kills every job except those tagged with 'tag(s)'. /// </summary> /// <param name="tags">The tag(s) of the jobs that must remain alive.</param> public static void KillAllExcept(params string[] tags) { List <SuperInvokeTag> tagList = new List <SuperInvokeTag>(); foreach (var tag in tags) { tagList.Add(SuperInvokeTag.GetInstance(tag)); } ScheduleBridge.KillAllExcept(tagList.ToArray()); }
public static SingleTask MakeInstance(Action method, float delayTime, string groupTag) { SingleTask singleTask = SuperInvokePoolSettings.PoolManager.GetInstance <SingleTask>(); singleTask.SetTask(method, delayTime); if (groupTag != null) { singleTask.groupTag = SuperInvokeTag.GetInstance(groupTag); } return(singleTask); }