示例#1
0
 // Token: 0x0600172B RID: 5931 RVA: 0x000290D8 File Offset: 0x000280D8
 internal void Update(float dT)
 {
     this.mFlasherQueue.Sort();
     foreach (FlasherBase flasherBase in this.mFlasherQueue)
     {
         if (flasherBase.Status == FlasherBase.eFlasherStatus.eRunning)
         {
             flasherBase.RunningTimer += dT;
             if (flasherBase.DisplayTime >= 0f && flasherBase.RunningTimer > flasherBase.DisplayTime)
             {
                 flasherBase.Status = FlasherBase.eFlasherStatus.eCanceled;
                 Flashers.CancelFlasher(flasherBase.Id);
             }
             else if (flasherBase != this.mFlasherQueue[0])
             {
                 if (flasherBase.KillWhenCut)
                 {
                     flasherBase.Status = FlasherBase.eFlasherStatus.eMarkedForDeletion;
                     Flashers.KillFlasher(flasherBase.Id);
                 }
                 else
                 {
                     Flashers.CancelFlasher(flasherBase.Id);
                     flasherBase.Init(flasherBase.Id);
                 }
             }
         }
         else
         {
             flasherBase.EnqueueTimer += dT;
             if ((double)flasherBase.WaitingLimit >= 0.0 && flasherBase.EnqueueTimer > flasherBase.WaitingLimit)
             {
                 flasherBase.Status = FlasherBase.eFlasherStatus.eCanceled;
                 Flashers.CancelFlasher(flasherBase.Id);
             }
         }
     }
     for (int i = this.mFlasherQueue.Count - 1; i >= 0; i--)
     {
         FlasherBase flasherBase2 = this.mFlasherQueue[i];
         if (flasherBase2.Status == FlasherBase.eFlasherStatus.eMarkedForDeletion)
         {
             flasherBase2.Reset();
             this.mFlasherQueue.RemoveAt(i);
         }
     }
     if (this.mFlasherQueue.Count > 0)
     {
         FlasherBase flasherBase3 = this.mFlasherQueue[0];
         if (flasherBase3.Status == FlasherBase.eFlasherStatus.eIdle)
         {
             flasherBase3.Status = FlasherBase.eFlasherStatus.eRunning;
             Flashers.AddFlasher(flasherBase3.CreateFrontendFlasherObj());
         }
     }
 }
示例#2
0
        // Token: 0x0600172A RID: 5930 RVA: 0x00029078 File Offset: 0x00028078
        public void KillFlasher(int flasher_id)
        {
            FlasherBase flasherBase = this.mFlasherQueue.Find((FlasherBase f) => f.Id == flasher_id);

            if (flasherBase != null)
            {
                if (flasherBase.Status == FlasherBase.eFlasherStatus.eRunning)
                {
                    flasherBase.Status = FlasherBase.eFlasherStatus.eMarkedForDeletion;
                    Flashers.KillFlasher(flasherBase.Id);
                    return;
                }
                if (flasherBase.Status == FlasherBase.eFlasherStatus.eIdle)
                {
                    flasherBase.Status = FlasherBase.eFlasherStatus.eMarkedForDeletion;
                }
            }
        }
示例#3
0
 // Token: 0x06000103 RID: 259 RVA: 0x000030FA File Offset: 0x000020FA
 public static void KillFlasher(int flasher_handle)
 {
     Flashers._EASharpBinding_64(flasher_handle);
 }
示例#4
0
 // Token: 0x06000101 RID: 257 RVA: 0x000030F2 File Offset: 0x000020F2
 public static void CancelFlasher(int flasher_handle)
 {
     Flashers._EASharpBinding_63(flasher_handle);
 }
示例#5
0
 // Token: 0x060000FF RID: 255 RVA: 0x000030D8 File Offset: 0x000020D8
 public static void AddFlasher(FrontendFlasher flasher)
 {
     Flashers._EASharpBinding_62(object.ReferenceEquals(flasher, null) ? null : flasher._GetRaw());
 }