Unity 2D: Подсчет колличества комнат, счётчик пройденных комнат (закрыт)
В моей игре в стиле Top Down Shooter есть комнаты (каждая комната - отдельный префаб), и при каждом запуске игры их спавнится разное количество. Мне нужно, чтобы подсчитывалось общее количество комнат. Я думал о том, чтобы сделать счётчик, проверяющий, какое колличество комнат прошёл игрок. Когда игрок заходит в комнату, счётчик увеличивается на 1. Когда игрок побывает во всех комнатах (колличество пройденных комнат = общее количество комнат), будет происходить событие. Важно подметить, что счётчик должен увеличиваться только единожды за одну комнату, то есть, если вы прошли комнату а до этого, и это прибавилось к счётчику пройденных комнат, то при прохождении этой же комнаты а во второй раз очко прибавлятся уже не будет. Но я не знаю, как всё это реализовать. Если вы чего то не поняли, то спрашивайте, я поясню. Могу отправить скрипты и скриншоты. Заранее спасибо)
Ответы (1 шт):
Способ, в котором игрок входит в комнату и считается кол-во комнат:
Можно добавить тригер(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 - можно брать количество комнат из скрипта, который и спавнит комнаты