В Unity мне удается вернуться к последней сцене, нажав кнопку «Назад» на устройстве Android, но проблема в том, что я нахожусь в 3-й сцене и хочу вернуться ко 2-й сцене, а затем вернуться к 1-й сцене.
С 3-й по 2-ю сцену, когда я нажимаю кнопку «Назад», она проходит успешно, но когда я снова нажимаю кнопку «Назад» со 2-й сцены до 1-й сцены, она не перемещается.Похоже, что кнопка возврата работает только в первый раз.
Вот мой код c #:
public class SceneLoader : MonoBehaviour
{
private float seconds = 0.5f;
private static int lastScene;
private int currentScene;
private void Awake()
{
currentScene = SceneManager.GetActiveScene().buildIndex;
}
private void Update()
{
BackButtonPressed();
}
public void LoadNextScene(int numberOfSceneToLoad)
{
StartCoroutine(LoadScene(numberOfSceneToLoad));
}
private IEnumerator LoadScene(int numberOfScene)
{
currentScene = SceneManager.GetActiveScene().buildIndex;
SetLastScene(currentScene);
yield return new WaitForSeconds(seconds);
SceneManager.LoadScene(numberOfScene);
}
private void BackButtonPressed()
{
if (Input.GetKey(KeyCode.Escape))
{
Debug.Log("Current scene: " + currentScene);
Debug.Log("Last Scene (scene to load): " + GetLastScene());
SceneManager.LoadScene(GetLastScene());
currentScene = GetLastScene();
Debug.Log("Now the Current scene is: " + currentScene);
}
}
public static void SetLastScene(int currentSceneToLastScene)
{
lastScene = currentSceneToLastScene;
}
public static int GetLastScene()
{
return lastScene;
}
public void QuitGame()
{
Application.Quit();
}
}
Заранее спасибо.