并非所有代码路径都返回值:Unity

时间:2016-03-28 06:38:08

标签: c# unity3d compiler-errors

我有一段用

错误编译的代码
  

“并非所有代码路径都返回值”

我不知道如何解决这个问题。有任何想法吗?这是我的代码。

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

1 个答案:

答案 0 :(得分: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
}