Files
UltimateFishing/Assets/Scripts/Assembly-CSharp/PPFXRigidbodyExtensions.cs
2026-02-21 16:45:37 +08:00

24 lines
1.0 KiB
C#

using UnityEngine;
public static class PPFXRigidbodyExtensions
{
public static void AddExplosionForce(this Rigidbody body, float explosionForce, Vector3 explosionRadiusCenter, float explosionRadius)
{
body.AddExplosionForce(explosionForce, explosionRadiusCenter, explosionRadius, new Vector3(0f, 0f, 0f));
}
public static void AddExplosionForce(this Rigidbody body, float explosionForce, Vector3 explosionRadiusCenter, float explosionRadius, Vector3 explosionOriginPoint)
{
body.AddExplosionForce(explosionForce, explosionRadiusCenter, explosionRadius, explosionOriginPoint, ForceMode.Force);
}
public static void AddExplosionForce(this Rigidbody body, float explosionForce, Vector3 explosionRadiusCenter, float explosionRadius, Vector3 explosionOriginPoint, ForceMode mode)
{
if (Vector3.Distance(body.transform.position, explosionRadiusCenter) <= explosionRadius)
{
Vector3 vector = body.transform.position - (explosionRadiusCenter + explosionOriginPoint);
body.AddForce(vector * (explosionForce / 5f), mode);
}
}
}