Метод OnCollisionEnter2D() срабатывает два раза

Я делаю игру, где основной задачей является собрать как можно больше бомб при таймере в 60 секунд. Сбор я осуществляю через метод OnCollisionEnter2D(), где проходит проверка о столкновении объекта с нужным тегом (в моем случае "Player"), далее бомба уничтожается и происходит засчитывание 100 очков и увеличение таймера на 5 секунд через get и set. При тесте я обнаружил, что иногда при столкновении происходит баг, при котором вместо 100 прибавляется 200, то есть метод работает почему-то два раза, вместо нужного одного. Код прилагаю ниже.

using UnityEngine;

public class Bomb : MonoBehaviour
{

   [SerializeField] GameObject Arrow;
   private Timer time;
   private GameBehavior gameMan;
   
    private void Start() 
   {
       gameMan = GameObject.Find("GameManager").GetComponent<GameBehavior>();
       time = GameObject.Find("Canvas").GetComponent<Timer>();
   }

   private void OnCollisionEnter2D(Collision2D other) 
   {
       if (other.gameObject.CompareTag("Player"))
       {
            Destroy(gameObject);
            gameMan.Score += 100;
            Debug.Log("Collected! " + gameMan.Score);
            time.SetTime += 5;
       }
   }
}

Ответы (0 шт):