のにっき

【Unity】デバッグ時にWaitForSecondsがうっとうしい時の対処法

Unityでデバッグを行っている時、
様々な場面で組み込んでいるWaitForSecondsの設定
アニメーション等で使用していると思うのですが、
デバッグの時はウェイトをスキップしてすいすいデバッグしたい!
と思う事があったので方法をまとめます。

ソースコード

    /// <summary>
    /// ウェイト付き関数
    /// </summary>
    /// <returns></returns>
    public IEnumerator Set_CzStart()
    {
        Debug.Log("ウェイト前");
        yield return new WaitForSeconds(GetWtTime(10.0f));
        Debug.Log("ウェイト後");
    }

    /// <summary>
    /// タイマー値取得
    /// </summary>
    /// <param name="SetTimer">設定したい秒数</param>
    /// <returns>デバッグ判定後秒数</returns>
    public static float GetWtTime(float SetTimer)
    {
#if Def_WaitDebug
        return 1f;
#else
        return SetTimer;
#endif
    }

この記述方法でウェイト時間をデバッグ時のみ1秒に短縮できるようになります。
WaitForSecondsに秒数を設定する時に関数を挟む感じです。

ウェイト時間の切り替え方法は、

#define Def_WaitDebug

上記のDefine設定をソースファイルの一番上に記入するかどうかで
切り替えることが出来ます。
記入する・・・ウェイト時間=1秒になる
記入しない・・ウェイト時間=設定秒になる

UnityEngineなどのソースは書き換えができなかったので
デバッグ用に新たに関数を作りました。
付け焼刃感が凄いですが、スイスイデバッグの参考にしてみてください。