Jsm.File.Group.cs 719 B

123456789101112131415161718192021222324
  1. using System.Runtime.InteropServices;
  2. #pragma warning disable 649 // field is never assigned
  3. namespace OpenVIII.Fields.Scripts
  4. {
  5. public static partial class Jsm
  6. {
  7. public static partial class File
  8. {
  9. [StructLayout(LayoutKind.Explicit,Size = 2,Pack = 1)]
  10. public struct Group
  11. {
  12. [field:FieldOffset(0)]
  13. private readonly ushort _value;
  14. public ushort Label => checked((ushort)(_value >> 7));
  15. public byte ScriptsCount => checked((byte)(_value & 0x7F));
  16. public override string ToString() => $"Label: {Label}, Script: {ScriptsCount}, Value: {_value}";
  17. }
  18. }
  19. }
  20. }