检查点 c# 统一

checkpoints c# in unity

我正在用 c# 统一制作一个游戏,我希望如果你在第 4 级死亡,你会回到第 0 级,但如果你在第 5 级,你会在第 5 级重生 代码:

   {
        int currentSceenIndex = SceneManager.GetActiveScene().buildIndex;
        if (currentSceenIndex <= 4)
        {
            SceneManager.LoadScene(0);
        }
        else if (currentSceenIndex == 4)
        {
            SceneManager.LoadScene(4);
        }   
    }

我做错了什么重生仍然有效但我总是回到0级如何解决这个问题。我尝试按照教程进行操作,但仍然无效。我看不到错误,而且玩游戏时也没有任何错误,所以我不知道错误在哪里。

听起来您更愿意使用

if (currentSceenIndex < 4) 

而不是 <= 因为目前第二个块 永远不会 因为对于 currentSceenIndex == 4 它已经执行了 if

var currentSceenIndex = SceneManager.GetActiveScene().buildIndex;
if (currentSceenIndex < 4)
{
    SceneManager.LoadScene(0);
}
else if (currentSceenIndex == 4)
{
    SceneManager.LoadScene(4);
}   
public const int MinimumRespawnSceneIndex = 4;

public void Respawn()
{
    int currentSceenIndex = SceneManager.GetActiveScene().buildIndex;

    int spawnAtSceneIndex = currentSceenIndex < MinimumRespawnSceneIndex ? 0 : currentSceenIndex;

    SceneManager.LoadScene(spawnAtSceneIndex);
}