Ejemplo n.º 1
0
 public static void StopSingleCoroutines(this ISingleCoroutine target, params int[] indexes)
 {
     for (int i = 0; i < indexes.Length; i++)
     {
         StopSingleCoroutine(target, indexes[i]);
     }
 }
Ejemplo n.º 2
0
    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]);
        }
    }
Ejemplo n.º 3
0
    internal static int QuestForIndex(ISingleCoroutine target, int index)
    {
        int targetIndex = 0;

        if (!L_Target.Contains(target))
        {
            L_Target.Add(target);
        }

        targetIndex += L_Target.FindIndex(p => p == target) * 1000;
        targetIndex += index;
        return(targetIndex);
    }
Ejemplo n.º 4
0
    public static void StopAllSingleCoroutines(this ISingleCoroutine target)
    {
        int min = 0, max = 0;

        CoroutineManager.QuestForRange(target, ref min, ref max);
        foreach (int index in CoroutineManager.Dic_Coroutines.Keys)
        {
            if (index >= min && index <= max)
            {
                if (CoroutineManager.Dic_Coroutines.ContainsKey(index) && CoroutineManager.Dic_Coroutines[index] != null)
                {
                    CoroutineManager.Instance.StopCoroutine(CoroutineManager.Dic_Coroutines[index]);
                }
            }
        }
    }
Ejemplo n.º 5
0
    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);
    }
Ejemplo n.º 6
0
 internal static void QuestForRange(ISingleCoroutine target, ref int min, ref int max)
 {
     min = L_Target.FindIndex(p => p == target) * 1000;
     max = min + 999;
 }