Массив объектов в триггере

Рейтинг: 0Ответов: 1Опубликовано: 21.07.2023

У меня есть массив объектов которые по очереди входят в триггер. Но на данный момент когда входит объект в триггер в консоли появляется разное количество "+". И мне это нужно исправить

Подскажите пожалуйста как сделать что бы при входе одного объекта из массива в триггер выводился в консоль всего 1 "+"?

public GameObject[] Object;

private void OnTriggerEnter()
{
   for (int i = 0; i < Object.Length; i++)
      print("+");
}

Ответы

▲ 1Принят

Это смотря как вызывается OnTriggerEnter. Если объекты "по очереди входят в триггер", тогда просто 'private void OnTriggerEnter() => print("+");'

UPD Если нужна реакция только на появление объектов в массиве, то:

public GameObject[] Object;
...
private void OnTriggerEnter() {
   if (Object.Length > 0) print("+");
}

Это будет реакция на непустой массив.

"можно ли как-то указать на какие объекты выдавать "+", а на какие нет" - нет, нельзя, потому что в OnTriggerEnter неизвестно, с каким объектом ассоциирован вызов этого события. Если какое-то поле _objref указывает на объект, вхождение которого нужно проверять, то:

public GameObject[] Object;
...
private void OnTriggerEnter() {
   if (Object.Contains(_objref)) print("+");
}