理由がわかりません。
私はすでにそれに関する多くの文書を読んでおり、多くのコメントがあります。
StopCoroutine(string) は StartCoroutine(string) で始まるコルーチンのみを停止できます
コードは以下です。
クラス CharTouchControl.cpp 内
if( Input.GetKeyDown( KeyCode.Q ) )
{
_CharControl.StartCoroutine("useFever", 10);
}
_CharControl は CharTouchControl のメンバーであり、もちろん _CharControl は以下の CharControl インスタンスを参照しています。
そしてInClass CharControl
public IEnumerator useFever(float _duration = 10)
{
if( m_nUseFever < _nFeverMax )
{
Debug.Log("Stop!!");
StopCoroutine("useFever");
yield return new WaitForEndOfFrame();
}
m_fgCharState = CharState._FEVER;
// fever particle
m_psFeverPaticle.Simulate(4);
yield return new WaitForEndOfFrame();
} // end of useFever
m_nUseFever < _nFeverMax が true の場合、「Stop!!」と表示されます。ログ、
しかし、コルーチンは停止せず、パティクルをシミュレートしません。
誰かがこれを助けますか?