Для сохранения пройденных сцен в Unity можно воспользоваться различными способами, но одним из наиболее распространенных является использование PlayerPrefs. Вот пример того, как можно сохранять пройденные сцены с помощью PlayerPrefs:
1. Создайте скрипт для управления сохранением данных. Например, назовем его SaveManager.cs.
2. В скрипте SaveManager.cs создайте метод для сохранения номера пройденной сцены:
using UnityEngine; public class SaveManager : MonoBehaviour { public void SaveSceneIndex(int sceneIndex) { PlayerPrefs.SetInt("LastPassedScene", sceneIndex); PlayerPrefs.Save(); } public int LoadLastPassedScene() { if (PlayerPrefs.HasKey("LastPassedScene")) { return PlayerPrefs.GetInt("LastPassedScene"); } return 0; // Возвращаем 0, если информация о последней пройденной сцене отсутствует } }
3. Присоедините скрипт SaveManager.cs к какому-либо объекту в сцене Unity.
4. В вашем коде уровня или менеджера уровней вызовите метод SaveSceneIndex() при завершении уровня:
public class LevelManager : MonoBehaviour { public SaveManager saveManager; private void LevelCompleted() { int currentSceneIndex = SceneManager.GetActiveScene().buildIndex; saveManager.SaveSceneIndex(currentSceneIndex); } }
5. Для того чтобы при загрузке игры загружалась последняя пройденная сцена, добавьте следующий код:
void Start() { int lastPassedScene = saveManager.LoadLastPassedScene(); SceneManager.LoadScene(lastPassedScene); }
Теперь при прохождении уровня будет сохраняться его номер, и при следующем запуске игры будет загружаться последняя пройденная сцена. Это лишь один из возможных способов реализации сохранения пройденных сцен в Unity, и его можно доработать и расширить в зависимости от потребностей вашего проекта.