public static void CreateFrameTrigger(int frameDelay, AsyncTrigger.OnTrigger onTrigger, params object[] args) { AsyncTrigger.FrameTriggerInfo frameTriggerInfo = new AsyncTrigger.FrameTriggerInfo(); frameTriggerInfo.iFrameDelay = ((frameDelay >= 1) ? frameDelay : 1); frameTriggerInfo.onTrigger = onTrigger; frameTriggerInfo.args = args; AsyncTrigger.mFrameTrigger.Add(frameTriggerInfo); }
public static void UpdateFrameTrigger() { try { for (int i = 0; i < AsyncTrigger.mFrameTrigger.Count; i++) { AsyncTrigger.FrameTriggerInfo frameTriggerInfo = AsyncTrigger.mFrameTrigger[i]; if (frameTriggerInfo == null) { AsyncTrigger.mFrameTrigger.RemoveAt(i); i--; } else { frameTriggerInfo.iFrameDelay--; if (frameTriggerInfo.iFrameDelay <= 1) { AsyncTrigger.mFrameTrigger.RemoveAt(i); if (frameTriggerInfo.onTrigger != null) { try { frameTriggerInfo.onTrigger(frameTriggerInfo.args); } catch (Exception ex) { LogSystem.LogError(new object[] { "UpdateFrameTrigger : ", ex.ToString() }); } } i--; } } } } catch (Exception ex2) { LogSystem.LogError(new object[] { ex2.ToString() }); } }