Как сбросить лобби при загрузке другой сцены?

Для сброса лобби при загрузке другой сцены в 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, что вызовет выполнение кода для сброса лобби при загрузке новой сцены.