Unity 2D: Подсчет колличества комнат, счётчик пройденных комнат (закрыт)

В моей игре в стиле Top Down Shooter есть комнаты (каждая комната - отдельный префаб), и при каждом запуске игры их спавнится разное количество. Мне нужно, чтобы подсчитывалось общее количество комнат. Я думал о том, чтобы сделать счётчик, проверяющий, какое колличество комнат прошёл игрок. Когда игрок заходит в комнату, счётчик увеличивается на 1. Когда игрок побывает во всех комнатах (колличество пройденных комнат = общее количество комнат), будет происходить событие. Важно подметить, что счётчик должен увеличиваться только единожды за одну комнату, то есть, если вы прошли комнату а до этого, и это прибавилось к счётчику пройденных комнат, то при прохождении этой же комнаты а во второй раз очко прибавлятся уже не будет. Но я не знаю, как всё это реализовать. Если вы чего то не поняли, то спрашивайте, я поясню. Могу отправить скрипты и скриншоты. Заранее спасибо)


Ответы (1 шт):

Автор решения: FiolDoll

Способ, в котором игрок входит в комнату и считается кол-во комнат:

Можно добавить тригер(Box collider2D), а в коде же сделать подобное условие:

private void AddPoint()
{
    point++;
    if (point > 10) // Например, если 10 комнат
    {
       // Выполнять ваше условие
    }

}
private void OnTriggerEnter2D(Collider2D other)
 {
     if (other.gameObject.tag == "newRoom") // Или other.gameObject.name
     {
         AddPoint();
         Destroy(other.gameObject);
     }
}

Данный код является примером. В условии, где имеется цифра 10 - можно брать количество комнат из скрипта, который и спавнит комнаты

→ Ссылка