Maze / Library /PackageCache /com.unity.inputsystem@1.6.1 /InputSystem /Devices /Commands /QueryUserIdCommand.cs
| using System; | |
| using System.Runtime.InteropServices; | |
| using UnityEngine.InputSystem.Utilities; | |
| ////TODO: remove this one; superseded by QueryPairedUserAccountCommand | |
| namespace UnityEngine.InputSystem.LowLevel | |
| { | |
| [] | |
| internal unsafe struct QueryUserIdCommand : IInputDeviceCommandInfo | |
| { | |
| public static FourCC Type { get { return new FourCC('U', 'S', 'E', 'R'); } } | |
| public const int kMaxIdLength = 256; | |
| internal const int kSize = InputDeviceCommand.kBaseCommandSize + kMaxIdLength * 2; | |
| [] | |
| public InputDeviceCommand baseCommand; | |
| [] | |
| public fixed byte idBuffer[kMaxIdLength * 2]; | |
| public string ReadId() | |
| { | |
| fixed(QueryUserIdCommand * thisPtr = &this) | |
| { | |
| return StringHelpers.ReadStringFromBuffer(new IntPtr(thisPtr->idBuffer), kMaxIdLength); | |
| } | |
| } | |
| public FourCC typeStatic | |
| { | |
| get { return Type; } | |
| } | |
| public static QueryUserIdCommand Create() | |
| { | |
| return new QueryUserIdCommand | |
| { | |
| baseCommand = new InputDeviceCommand(Type, kSize), | |
| }; | |
| } | |
| } | |
| } | |