This commit is contained in:
CortexCore
2024-05-31 01:23:15 +08:00
parent c798b224be
commit 299082fe27
164 changed files with 3604 additions and 2018 deletions

View File

@@ -1,3 +1,4 @@
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
@@ -5,12 +6,25 @@ namespace BITKit
{
public class PhysicsImpact : MonoBehaviour
{
private new Collider collider;
public event Action<Collision> OnPhysicsCollisionEnter;
[SerializeField] private Collider[] ignoreColliders;
private readonly HashSet<int> ignoreCollidersHash = new();
private void OnEnable()
{
collider = GetComponent<Collider>();
ignoreCollidersHash.Clear();
if (ignoreColliders is null) return;
foreach (var x in ignoreColliders)
{
ignoreCollidersHash.Add(x.transform.GetInstanceID());
}
}
private void OnCollisionEnter(Collision collision)
{
if (collision.transform.TryGetComponent<IPhysicsImpact>(out var impact))
{
impact.AddImpact(collision.relativeVelocity);
}
if(ignoreCollidersHash.Contains(collision.transform.GetInstanceID())) return;
OnPhysicsCollisionEnter?.Invoke(collision);
}
}
}