Для сброса лобби при загрузке другой сцены в Unity вам понадобятся следующие шаги:
1. Создайте новый скрипт и прикрепите его к объекту, который будет загружать новую сцену. Назовите этот скрипт, например, "SceneLoader".
2. Внутри скрипта SceneLoader объявите публичную статическую переменную типа bool, например, с именем "resetLobby". Она будет использоваться для определения того, нужно ли сбросить лобби при загрузке новой сцены.
public static bool resetLobby = false;
3. Создайте новый метод в классе SceneLoader под названием "LoadScene", принимающий название сцены, которую хотите загрузить. В этом методе, перед загрузкой новой сцены, установите значение переменной resetLobby в true.
public static void LoadScene(string sceneName) { resetLobby = true; SceneManager.LoadScene(sceneName); }
4. Теперь перейдите к скрипту, отвечающему за лобби, и найдите метод Awake(). Внутри этого метода добавьте проверку переменной resetLobby. Если она равна true, то выполните код, сбрасывающий лобби.
void Awake() { if(SceneLoader.resetLobby) { // Код для сброса лобби SceneLoader.resetLobby = false; } }
Теперь, когда вы загружаете новую сцену с использованием метода LoadScene из класса SceneLoader, переменная resetLobby будет установлена в true, что вызовет выполнение кода для сброса лобби при загрузке новой сцены.