示例#1
0
 /// <summary>
 /// Check and cancel task.delay
 /// </summary>
 private void CheckJBehaviour()
 {
     for (int i = 0; i < JBehaviours.Count; i++)
     {
         var jb = JBehaviours.ElementAt(i);
         if (jb.Value == null)
         {
             JBehaviours.Remove(jb.Key);
             continue;
         }
         try
         {
             if (jb.Value._gameObject == null)
             {
                 jb.Value.LoopAwaitToken?.Cancel();
                 JBehaviours[jb.Value._instanceID] = null;
                 JBehaviours.Remove(jb.Value._instanceID);
                 i--;
             }
         }
         catch (MissingReferenceException)
         {
             jb.Value.LoopAwaitToken?.Cancel();
             JBehaviours[jb.Value._instanceID] = null;
             JBehaviours.Remove(jb.Value._instanceID);
             i--;
         }
     }
 }
示例#2
0
 /// <summary>
 /// Check and cancel task.delay
 /// </summary>
 private void CheckJBehaviour()
 {
     for (int i = 0; i < JBehaviours.Count; i++)
     {
         var jb = JBehaviours.ElementAt(i);
         if (jb.Value._gameObject == null)
         {
             jb.Value.LoopAwaitToken.Cancel();
             JBehaviours[jb.Value._instanceID] = null;
             JBehaviours.Remove(jb.Value._instanceID);
             i--;
         }
     }
 }