You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
CrowdControl/Assets/Feel/NiceVibrations/Scripts/Components/HapticClip.cs

36 lines
1.2 KiB
C#

2 months ago
// Copyright (c) Meta Platforms, Inc. and affiliates.
using UnityEngine;
namespace Lofelt.NiceVibrations
{
/// <summary>
/// Represents an imported haptic clip asset.
/// </summary>
///
/// HapticClip contains the data of a haptic clip asset imported from a <c>.haptic</c> file,
/// in a format suitable for playing it back at runtime.
/// A HapticClip is created by <c>HapticImporter</c> when importing a haptic clip asset
/// in the Unity editor, and can be played back at runtime with e.g. HapticSource or
/// HapticController::Play().
///
/// It contains two representations:
/// - JSON, used for playback on iOS and Android
/// - GamepadRumble, used for playback on gamepads with the GamepadRumbler class
public class HapticClip : ScriptableObject
{
/// <summary>
/// The JSON representation of the haptic clip, stored as a byte array encoded in UTF-8,
/// without a null terminator
/// </summary>
[SerializeField]
public byte[] json;
/// <summary>
/// The haptic clip represented as a GamepadRumble struct
/// </summary>
[SerializeField]
public GamepadRumble gamepadRumble;
}
}