/// <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--; } } }
/// <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--; } } }