Example #1
0
 // 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);
     }
 }
Example #2
0
    // 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);
    }