Юнити как определить сколько касается объектов?
У меня есть код, который срабатывает если объект на который он прикреплен касается другого объекта с таким же тегом. После касания между двумя объектами создается еще один другой. Проблема в том что код может срабатывать даже если три объекта касаются одновременно. А мне надо чтобы только когда два объекта касаются создавать один новый между ними. Код прикреплен к префабу, который создается во время игры. И по возможности подскажите как сделать задержку перед удалением объектов. Потому что я хочу добавить звук когда они соприкасаются, но он не успевает проигрываться потому что объекты удаляются слишком быстро.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class colTag : MonoBehaviour
{
private bool hasExecuted = false;
public GameObject Olivca;
public void MarkAsExecuted()
{
hasExecuted = true;
}
public void OnCollisionEnter2D(Collision2D collision)
{
if (!hasExecuted && collision.gameObject.CompareTag("Goroshec"))
{
//метод играть звук
//задержка
collision.gameObject.GetComponent<colTag>().MarkAsExecuted();
Vector2 eggPosition1 = collision.gameObject.transform.position;
Vector2 eggPosition2 = transform.position;
Destroy(collision.gameObject);
Destroy(gameObject);
Vector2 centerPosition = (eggPosition1 + eggPosition2) / 2;
Instantiate(Olivca, centerPosition, Quaternion.identity);
}
}
}