У меня есть готовый объект под названием Beam, который содержит несколько вещей, но один - это объект, который при столкновении и срабатывании его экземпляра должен сам себя уничтожить.
В настоящее время у меня есть скрипт, который генерируетвсе экземпляры в переменной с именем Beams.Здесь показано:
![enter image description here](https://i.stack.imgur.com/luuzM.jpg)
Когда это выполняется, в нем создаются клоны.Здесь можно увидеть:
![enter image description here](https://i.stack.imgur.com/Nj2pK.jpg)
На последнем изображении вы также увидите префаб Луча, в котором находится Cookie.Это печенье, где у меня есть скрипт, который говорит, если я его ударил, уничтожить.Этот код выглядит следующим образом:
...
public class Collectibles : MonoBehaviour
{
GameManager game;
// Start is called before the first frame update
void Start()
{
game = FindObjectOfType<GameManager> ();
}
...
void OnTriggerEnter2D(Collider2D other) {
if(other.tag == "Player"){
string coinType = "Cookie";
game.AddCollectible(coinType);
Destroy(gameObject);
}
}
}
В настоящее время, когда я сталкиваюсь с файлом cookie, он запускает команду Destroy (gameObject) и уничтожает ВСЕ экземпляры файла cookie (по одному на каждый клон).
Этот код живет на Cookie, а не на Beams.Это верно?Должен ли я иметь код где-нибудь еще?Я также пытался уничтожить (это), но это не делает то, что я думал, что будет делать (только экземпляр).
Возможно ли, что откуда я вызывал уничтожить, сценарий не имеет доступа кслучаи, или я что-то упустил?Заранее спасибо!