2016-03-28 17 views
-2

は、私は、「すべてのコードパスが値を返さない」ないすべてのコードパスが戻り値:ユニティ

のエラーでコンパイルされたコードのセクションを持っている

私は見当がつかないこれを修正する方法。何か案は?ここに私のコードです。

bool EnemyIsAlive() 
{ 
    searchCountdown -= Time.deltaTime; 
    if (searchCountdown <= 0f) 
    { 
     searchCountdown = 1f; 
     if (GameObject.FindGameObjectWithTag("Enemy") == null) 
     { 
      return false; 
     } 
    return true; 
    } 
} 
+0

の可能性のある重複[C#の復帰エラー「すべてのコードパスは値を返しません」](http://stackoverflow.com/questions/21197410/c-sharp-returning-error-not-all-code-経路復帰値) – Serlite

答えて

1

EnemyIsAlive()は、すべての条件に対してブール値を返す必要があります。あなたの場合、 if (searchCountdown <= 0f)falseと評価された場合、このメソッドは何も返しません。だから、あなたはfalse条件のためのreturn文を追加する必要があります。あなたが扱っているシナリオによればtrue/falseかもしれませんが、そこに戻りがあります。

bool EnemyIsAlive() 
{ 
    searchCountdown -= Time.deltaTime; 
    if (searchCountdown <= 0f) 
    { 
     searchCountdown = 1f; 
     if (GameObject.FindGameObjectWithTag("Enemy") == null) 
     { 
      return false; 
     } 
    return true; 
    } 
    return false; // one line added to solve the error 
} 
関連する問題