Как узнать номер объекта в массиве которого коснулся через OnTriggerEnter2D
У меня на игроке есть скрипт с массивом объектов. На каждом есть Box Collider 2d с включенным триггером.
Вопрос. Если игрок дотронется до блока и сработает OnTriggerEnter2D по тегу Border, как узнать какой это объект из массива ?
Ответы (2 шт):
Автор решения: Максим Фисман
→ Ссылка
Функция OnTriggerEnter имеет аргумент - ссылку на объект, с которым произошло касание. Вы можете просто найти в массиве индекс этого элемента:
private void OnTriggerEnter (Collider2D other) {
GameObject obj = other.gameObject;
array.FindIndex(0, array.Count - 1, el => el == obj); // Что-то LINQ-овское
// ИЛИ
for (int i = 0; i < array.Count; i++)
if (array[i] == obj)
// НАЙДЕНО
}