// Token: 0x06004BAF RID: 19375 RVA: 0x00127C0C File Offset: 0x00125E0C public static void AddDestroy(Object obj, float delay) { if (obj == null) { return; } if (Application.isPlaying) { if (delay > 0f) { global::UpdateManager.CreateInstance(); global::UpdateManager.DestroyEntry destroyEntry = new global::UpdateManager.DestroyEntry(); destroyEntry.obj = obj; destroyEntry.time = Time.realtimeSinceStartup + delay; global::UpdateManager.mInst.mDest.Add(destroyEntry); } else { Object.Destroy(obj); } } else { Object.DestroyImmediate(obj); } }
// Token: 0x06004BA9 RID: 19369 RVA: 0x001279FC File Offset: 0x00125BFC private bool CoroutineUpdate() { float realtimeSinceStartup = Time.realtimeSinceStartup; float num = realtimeSinceStartup - this.mTime; if (num < 0.001f) { return(true); } this.mTime = realtimeSinceStartup; this.UpdateList(this.mOnCoro, num); bool isPlaying = Application.isPlaying; int i = this.mDest.Count; while (i > 0) { global::UpdateManager.DestroyEntry destroyEntry = this.mDest[--i]; if (!isPlaying || destroyEntry.time < this.mTime) { if (destroyEntry.obj != null) { global::NGUITools.Destroy(destroyEntry.obj); destroyEntry.obj = null; } this.mDest.RemoveAt(i); } } if (this.mOnUpdate.Count == 0 && this.mOnLate.Count == 0 && this.mOnCoro.Count == 0 && this.mDest.Count == 0) { global::NGUITools.Destroy(base.gameObject); return(false); } return(true); }