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