Помогите с логикой. Проект в принципе из одной сцены. В

ней канвас со всеми панелями и геймменеджер
1. При старте показываем меню (с кнопкой далее)
2. Загружаем основную сцену (в принципе она одна)
3. При победе/поражении перезагружаем сцену

В геймменеджере метод Start - но как понять игра запущена в первый раз (тогда нужно стартовое меню) или это перезагрузка уровня (тогда не нужно) ?
Хранить переменную в гейменеджере что игра запускалась ? но он уже удаляется при перезапуске сцены...

16 ответов

37 просмотров

Можно загружать второю сцены аддитивно. А вообще наверное проще всего в DontDestroyOnLoad засунуть гейм менеджер

Используй PlayerPrefs. Чё, зря его придумали что ли )))

Ну так игра всегда запускается с нулевой сцены. Там можно это значение сбросить как раз. В чём проблема?!

Ivan M
Аа, я не внимательно вчитался в вопрос

Ну а при желании вообще можно менеджер сцен намутить (что более правильно) или на крайняк static class запилить. Ну как спросили, так на вскидку и ответил )))

ivan- Автор вопроса
Dimitry PixiONe
Используй PlayerPrefs. Чё, зря его придумали что л...

и ? записал я в переменную что игра запустилась. игру закрыли - запись осталась. второй раз игру запустят без стартового меню...

ivan- Автор вопроса
Dimitry PixiONe
Ну так игра всегда запускается с нулевой сцены. Та...

так нет нулевой сцены. сцена одна. специально добавлять нулевую сцену с другим менеджером ? как-то слишком...

ivan
так нет нулевой сцены. сцена одна. специально доба...

А вот это уже странно, держать всё в одной сцене. Ну ок. Если нет больше сцен юзай тот же PlayerPrefs, но без сохранения

ivan- Автор вопроса
Dimitry PixiONe
А вот это уже странно, держать всё в одной сцене. ...

о) пропустить сохранение плеерпрефс это идея

ivan
о) пропустить сохранение плеерпрефс это идея

про одну сцену прав. Ее можно слишком сильно загрузить и есть возможность запутаться. Тем более если будет реклама, покупки и тд.

Mike Gor
про одну сцену прав. Ее можно слишком сильно загру...

и возможно канвасов кучу придется делать

ivan- Автор вопроса

все равно путаница выходит :( Есть одна сцена (ну ок, может множество сцен - но везде один префаб канвас с гейменеджером). 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. Ну и в иерархии я два геймменеджера наблюдаю....

ivan
все равно путаница выходит :( Есть одна сцена (ну ...

не очень понятно, чем не подошел PlayerPrefs

ivan- Автор вопроса
Andrey Chursin 🙃
не очень понятно, чем не подошел PlayerPrefs

gameIsLoaded = PlayerPrefs.GetInt("GameLoaded"); читаем на старте. если там ноль - значит игра не запускалась. показываем меню, пишем PlayerPrefs.SetInt("GameLoaded",1); не сохраняем. Но потом то надо всякие очки и т.п еще в PlayerPrefs сохранять... и там нужно сохранение. PlayerPrefs.Save(); сохраняет же все включая "GameLoaded"...

ivan
gameIsLoaded = PlayerPrefs.GetInt("GameLoaded"); ч...

"2. как определить в Start это уровень перезапускается или запускается в первый раз ?" Ну, в следующий раз попадаем в старт и видим там 1, значит это перезапуск, Profit?

Похожие вопросы

Обсуждают сегодня

Добрый вечер, Пока не совсем понимаю как наладить общение между телеграм ботом и ПО для работы с сим боксом. По самому боту так понял: - Нужен некий баланс, который можно поп...
Magic
6
сделал сайт, прикрутил в боте сайт, и виджет логина. как автоматически логинить пользователя в аккаунт(телеграм), при входе с бота?
Александра Чернивецкая
5
Объясните, пожалуйста, почему компилятор ругается на использование в условии неинициализированной переменной: int x; Task.Run(async () => { x = await somefunc(); }).Wait...
Александр
5
Ребят, подскажите, пожалуйста, почему в префиксе к ассетам, которые генерируются через фильтр | theme в шаблоне, стал вдруг появляться index.php? Вот так выглядит ссылка на а...
Виталий
1
Всем привет. Ребята, подскажите, пожалуйста. у ботов есть ограничение на отправку сообщений - 30 сообщений в секунду, эти ограничения накладываются на все сообщения? или на со...
Artem Stormageddon
4
Блин, ребята, сори за тупые вопросы. А можно ли как-то открыть вебапку по нажатию на кнопку в меню(которое появляется слева, команды)?
Artem Stormageddon
3
а плаксы из-под питона умеют только в комфортных условиях что-то выдавить из себя?)
Lencore
9
Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
13
Это может быть все-таки не флудвейт? у меня ботфазер принимает изменения и отображает даже что они изменились, на видео видно что он прислал якобы уже измененное описание, н...
OVERLINK
13
Коллеги, может знает кто, можно ли цвет бейджа счётчика в BackendMenu менять без бубнов?
Alex Blaze
3
Карта сайта