Files
dungeons/Assets/UltimateXR/Runtime/Scripts/Haptics/Helpers/UxrHapticImpactEventArgs.cs
2024-08-06 21:58:35 +02:00

66 lines
2.4 KiB
C#

// --------------------------------------------------------------------------------------------------------------------
// <copyright file="UxrHapticImpactEventArgs.cs" company="VRMADA">
// Copyright (c) VRMADA, All rights reserved.
// </copyright>
// --------------------------------------------------------------------------------------------------------------------
using System;
using UnityEngine;
namespace UltimateXR.Haptics.Helpers
{
/// <summary>
/// EventArgs for events generated by a <see cref="UxrHapticOnImpact" /> component.
/// </summary>
public class UxrHapticImpactEventArgs : EventArgs
{
#region Public Types & Data
/// <summary>
/// Gets the raycast hit information.
/// </summary>
public RaycastHit HitInfo { get; }
/// <summary>
/// Gets the normalized hit force (0 = min, 1 = max).
/// </summary>
public float ForceT { get; }
/// <summary>
/// Gets the tip velocity.
/// </summary>
public Vector3 Velocity { get; }
/// <summary>
/// Gets the angle between hit transform world forward and hit transform world velocity.
/// </summary>
public float AngleForwardVelocity { get; }
/// <summary>
/// Gets the angle between hit transform world forward and -normal.
/// </summary>
public float AnglePenetration { get; }
#endregion
#region Constructors & Finalizer
/// <summary>
/// Constructor.
/// </summary>
/// <param name="hitInfo">Hit information</param>
/// <param name="forceT">Hit force</param>
/// <param name="velocity">Hit velocity</param>
/// <param name="angleForwardVelocity">Angle between hit transform world forward and hit transform world velocity</param>
/// <param name="anglePenetration">Angle between hit transform world and -normal</param>
public UxrHapticImpactEventArgs(RaycastHit hitInfo, float forceT, Vector3 velocity, float angleForwardVelocity, float anglePenetration)
{
HitInfo = hitInfo;
ForceT = forceT;
Velocity = velocity;
AngleForwardVelocity = angleForwardVelocity;
AnglePenetration = anglePenetration;
}
#endregion
}
}