static public void EditProcess(this UnityEngine.Object item, string name, long delay, Process process) { if (Application.isPlaying == false) { WorkSystem.GetInstance().ScheduleNamed(item, name, delay, process); } }
public void Request(long delay) { need_process = true; if (has_scheduled == false || delay < scheduled_delay) { has_scheduled = true; scheduled_delay = delay; WorkSystem.GetInstance().Schedule(requester, scheduled_delay, delegate() { has_scheduled = false; if (need_process) { Execute(); } }); } }
static public void Schedule(this WorkSystem item, UnityEngine.Object requester, Duration max_delay, Process process) { item.Schedule(requester, max_delay.GetWholeMilliseconds(), process); }