Esempio n. 1
0
 //停止运行
 public void Stop()
 {
     if (state == CoroutineItemState.Running)
     {
         if (mCoroutiner != null)
         {
             Main.instance.StopCoroutine(mCoroutiner);
         }
         state = CoroutineItemState.Stop;
     }
 }
Esempio n. 2
0
    public void Run()
    {
        mIEnumber = targetDelegate.Method.Invoke(targetObject, args) as IEnumerator; //将委托绑定的方法转换程IEnumberator因为其返回类型为IEnumerator,被调用之后才可以返回IEnumerator类型
        if (mIEnumber != null)
        {
            mCoroutiner = Main.instance.StartCoroutine(this);
            state       = CoroutineItemState.Running;
            resumeCount = 1;
        }


#if UNITY_EIDOTR
        tracer = new StackTrace(true);
#endif
    }
Esempio n. 3
0
    //重新唤起执行
    public void Resume()
    {
        if (state == CoroutineItemState.Running)
        {
            if (mCoroutiner != null)
            {
                Main.instance.StopCoroutine(mCoroutiner);
            }
            state = CoroutineItemState.Stop;
        }
        mIEnumber = targetDelegate.Method.Invoke(targetObject, args) as IEnumerator; //将委托绑定的方法转换程IEnumberator因为其返回类型为IEnumerator
        if (mIEnumber != null)
        {
            mCoroutiner = Main.instance.StartCoroutine(this);
            state       = CoroutineItemState.Running;
        }
#if UNITY_EIDOTR
        tracer = new StackTrace(true);
#endif
        resumeCount++;
    }