public static void StopCoroutine(IEnumerator enumerator, ECoroutineType target = ECoroutineType.None) { if (m_instance == null) { return; } if (enumerator == null) { return; } if (m_instance.m_enumerators.ContainsKey(target)) { if (m_instance.m_enumeratorsDelete.ContainsKey(target)) { m_instance.m_enumeratorsDelete[target].Add(enumerator); } else { m_instance.m_enumeratorsDelete.Add(target, new List <IEnumerator>() { enumerator }); } } }
public static void StopAllCoroutine(ECoroutineType target = ECoroutineType.None) { if (m_instance == null) { return; } if (m_instance.m_enumeratorsDelete.ContainsKey(target)) { if (m_instance.m_enumerators.ContainsKey(target)) { m_instance.m_enumeratorsDelete[target].AddRange(m_instance.m_enumerators[target]); } else { return; } } else { if (m_instance.m_enumerators.ContainsKey(target)) { m_instance.m_enumeratorsDelete.Add(target, m_instance.m_enumerators[target]); } else { return; } } }
public static void StartCoroutine(IEnumerator enumerator, ECoroutineType target = ECoroutineType.None) { if (m_instance == null) { return; } if (m_instance.m_enumerators.ContainsKey(target)) { m_instance.m_enumerators[target].Add(enumerator); } else { var list = new List <IEnumerator>(); list.Add(enumerator); m_instance.m_enumerators.Add(target, list); } }