Example #1
0
        public static Coroutine_ StartCoroutine1(MonoBehaviour b, IEnumerator <object> coroutine, object mutex = null)
        {
            var _coroutine = new Coroutine_(coroutine, mutex);

            _coroutine.StartWith(b);
            return(_coroutine);
        }
Example #2
0
        public static Coroutine_ StartCoroutineSingle(MonoBehaviour b, IEnumerator <object> coroutine, object mutex)
        {
            if (mutex == null)
            {
                Debug.LogWarning("Mutex is null. Consider using StartCoroutine1 instead.");
                return(StartCoroutine1(b, coroutine));
            }

            if (!CoroutineMonitor.TryEnter(mutex))
            {
                return(GetInUseBy(mutex));
            }

            var _coroutine = new Coroutine_(coroutine, mutex, true);

            _coroutine.StartWith(b);
            return(_coroutine);
        }