ней канвас со всеми панелями и геймменеджер
1. При старте показываем меню (с кнопкой далее)
2. Загружаем основную сцену (в принципе она одна)
3. При победе/поражении перезагружаем сцену
В геймменеджере метод Start - но как понять игра запущена в первый раз (тогда нужно стартовое меню) или это перезагрузка уровня (тогда не нужно) ?
Хранить переменную в гейменеджере что игра запускалась ? но он уже удаляется при перезапуске сцены...
Можно загружать второю сцены аддитивно. А вообще наверное проще всего в DontDestroyOnLoad засунуть гейм менеджер
Используй PlayerPrefs. Чё, зря его придумали что ли )))
Ну так игра всегда запускается с нулевой сцены. Там можно это значение сбросить как раз. В чём проблема?!
Аа, я не внимательно вчитался в вопрос
Ну а при желании вообще можно менеджер сцен намутить (что более правильно) или на крайняк static class запилить. Ну как спросили, так на вскидку и ответил )))
и ? записал я в переменную что игра запустилась. игру закрыли - запись осталась. второй раз игру запустят без стартового меню...
так нет нулевой сцены. сцена одна. специально добавлять нулевую сцену с другим менеджером ? как-то слишком...
А вот это уже странно, держать всё в одной сцене. Ну ок. Если нет больше сцен юзай тот же PlayerPrefs, но без сохранения
о) пропустить сохранение плеерпрефс это идея
про одну сцену прав. Ее можно слишком сильно загрузить и есть возможность запутаться. Тем более если будет реклама, покупки и тд.
и возможно канвасов кучу придется делать
все равно путаница выходит :( Есть одна сцена (ну ок, может множество сцен - но везде один префаб канвас с гейменеджером). 1. канвас один чтоб везде обновлялся. гейменеджер в нем чтоб рефы можно было сохранить на элементы ui (иначе искать их через find...) загрузка/перезагрузка уровней - тоже из геймменеджера 2. как определить в Start это уровень перезапускается или запускается в первый раз ? плеерпрефс - так их нужно сохранять все таки ) переменная ? так менеджер удаляется... в донтдестрой его... тогда тоже странные ошибки вылазят ( вот тут сыпется gameManager = GameObject.Find("GameManager").GetComponent<GameManager>(); MissingReferenceException: The object of type 'GameObject' has been destroyed but you are still trying to access it. Your script should either check if it is null or you should not destroy the object. Ну и в иерархии я два геймменеджера наблюдаю....
не очень понятно, чем не подошел PlayerPrefs
gameIsLoaded = PlayerPrefs.GetInt("GameLoaded"); читаем на старте. если там ноль - значит игра не запускалась. показываем меню, пишем PlayerPrefs.SetInt("GameLoaded",1); не сохраняем. Но потом то надо всякие очки и т.п еще в PlayerPrefs сохранять... и там нужно сохранение. PlayerPrefs.Save(); сохраняет же все включая "GameLoaded"...
"2. как определить в Start это уровень перезапускается или запускается в первый раз ?" Ну, в следующий раз попадаем в старт и видим там 1, значит это перезапуск, Profit?
Обсуждают сегодня