public static void StopSingleCoroutine(this ISingleCoroutine target, int index = 0) { int targetIndex = CoroutineManager.QuestForIndex(target, index); if (CoroutineManager.Dic_Coroutines.ContainsKey(targetIndex) && CoroutineManager.Dic_Coroutines[targetIndex] != null) { CoroutineManager.Instance.StopCoroutine(CoroutineManager.Dic_Coroutines[targetIndex]); } }
public static void StartSingleCoroutine(this ISingleCoroutine target, int index, IEnumerator numerator) { if (index < 0) { Debug.LogWarning(" Should Not Add Coroutine Index Which Below 0"); } int targetIndex = CoroutineManager.QuestForIndex(target, index); if (CoroutineManager.Dic_Coroutines.ContainsKey(targetIndex)) { if (CoroutineManager.Dic_Coroutines[targetIndex] != null) { CoroutineManager.Instance.StopCoroutine(CoroutineManager.Dic_Coroutines[targetIndex]); } } else { CoroutineManager.Dic_Coroutines.Add(targetIndex, null); } CoroutineManager.Dic_Coroutines[targetIndex] = CoroutineManager.Instance.StartCoroutine(numerator); }