Ejemplo n.º 1
0
        public static void StartCoroutine(Object owner, string key, IEnumerator coroutine, bool stopExisting = false)
        {
            if (m_Instance)
            {
                if (stopExisting && s_ExistingCoroutines.ContainsKey(owner))
                {
                    if (s_ExistingCoroutines[owner].ContainsKey(key))
                    {
                        m_Instance.StopCoroutine(s_ExistingCoroutines[owner][key]);
                    }
                }

                if (s_ExistingCoroutines.ContainsKey(owner))
                {
                    s_ExistingCoroutines[owner].Remove(key);
                }

                if (!s_ExistingCoroutines.ContainsKey(owner))
                {
                    s_ExistingCoroutines.Add(owner, new Dictionary <string, Coroutine>());
                }

                s_ExistingCoroutines[owner].Add(key, m_Instance.StartCoroutine(coroutine));
            }
        }
        public static void StartCoroutine(Object owner, IEnumerator coroutine, bool stopExisting = false)
        {
            if (m_Instance)
            {
                if (stopExisting && s_ExistingCoroutines.ContainsKey(owner))
                {
                    m_Instance.StopCoroutine(s_ExistingCoroutines[owner]);
                }

                s_ExistingCoroutines.Remove(owner);
                s_ExistingCoroutines.Add(owner, m_Instance.StartCoroutine(coroutine));
            }
        }