IndieGame/client/Packages/com.unity.inputsystem@1.7.0/InputSystem/Events/DeviceRemoveEvent.cs

42 lines
1.2 KiB
C#
Raw Normal View History

2024-10-11 10:12:15 +08:00
using System.Runtime.InteropServices;
using UnityEngine.InputSystem.Utilities;
namespace UnityEngine.InputSystem.LowLevel
{
/// <summary>
/// Notifies about the removal of an input device.
/// </summary>
/// <remarks>
/// Device that got removed is the one identified by <see cref="InputEvent.deviceId"/>
/// of <see cref="baseEvent"/>.
/// </remarks>
[StructLayout(LayoutKind.Explicit, Size = InputEvent.kBaseEventSize)]
public struct DeviceRemoveEvent : IInputEventTypeInfo
{
public const int Type = 0x4452454D;
/// <summary>
/// Common event data.
/// </summary>
[FieldOffset(0)]
public InputEvent baseEvent;
public FourCC typeStatic => Type;
public unsafe InputEventPtr ToEventPtr()
{
fixed(DeviceRemoveEvent * ptr = &this)
{
return new InputEventPtr((InputEvent*)ptr);
}
}
public static DeviceRemoveEvent Create(int deviceId, double time = -1)
{
var inputEvent =
new DeviceRemoveEvent {baseEvent = new InputEvent(Type, InputEvent.kBaseEventSize, deviceId, time)};
return inputEvent;
}
}
}