using System; using System.Collections; using System.Collections.Generic; using UnityEngine; namespace BITKit { public class PhysicsImpact : MonoBehaviour { private new Collider collider; public event Action OnPhysicsCollisionEnter; [SerializeField] private Collider[] ignoreColliders; private readonly HashSet ignoreCollidersHash = new(); private void OnEnable() { collider = GetComponent(); ignoreCollidersHash.Clear(); if (ignoreColliders is null) return; foreach (var x in ignoreColliders) { ignoreCollidersHash.Add(x.transform.GetInstanceID()); } } private void OnCollisionEnter(Collision collision) { if(ignoreCollidersHash.Contains(collision.transform.GetInstanceID())) return; OnPhysicsCollisionEnter?.Invoke(collision); } } }