Unity 停止多个协程

private List<Coroutine> m_ListCoroutine = new List<Coroutine>();

//添加需要停止协程的队列
m_ListCoroutine.Add(StartCoroutine(MahjongBottomDrawIntoWall(0.7f, CWComDataDef.Game_Position.GP_BOTTOM)));

m_ListCoroutine.Add(StartCoroutine(MahjongDraw4Yoriko(gp, kTile, fDelayTime)));


//停止多个协程
        public void StopInvalidCoroutine()
        {
            foreach ( Coroutine it in m_ListCoroutine)
            {
                StopCoroutine(it);
            }

            m_ListCoroutine.Clear();
        }

注意:这种方法完全不用考虑协程参数。



 

使用

StartCoroutine(DoSomething());

开启协程,发现使用

StopCoroutine(DoSomething());

停止不了,看API原来是因为:

请注意只有StartCoroutine使用一个字符串方法名时才能用StopCoroutine停用之.

posted @ 2017-08-29 21:18  MATU  阅读(972)  评论(0)    收藏  举报