public static IHierarchyReference ReadReferenceFrom(UnsafeReader reader) { var id = reader.ReadInt(); if (id == 0) { return(new LocalReference(reader.ReadLong(), reader.ReadULong())); } if (id == 1) { return(new ExternalReference(reader.ReadGuid(), reader.ReadULong())); } throw new InvalidOperationException($"Unknown reference type, {id}"); }
public static LocalReference ReadLocalReferenceFrom(UnsafeReader reader) { var id = reader.ReadInt(); if (id != 0) { throw new InvalidOperationException($"Expected local reference, found {id}"); } return(new LocalReference(reader.ReadLong(), reader.ReadULong())); }
public static ExternalReference ReadExternalReferenceFrom(UnsafeReader reader) { var id = reader.ReadInt(); if (id != 1) { throw new InvalidOperationException($"Expected external reference, found {id}"); } return(new ExternalReference(reader.ReadGuid(), reader.ReadULong())); }
private static object Read(UnsafeReader reader) => new LocalReference(reader.ReadLong(), reader.ReadULong());
public static OWORD ReadOWORD(UnsafeReader unsafeReader) { return(new OWORD(unsafeReader.ReadULong(), unsafeReader.ReadULong())); }
private static object Read(UnsafeReader reader) { return(new ExternalReference(reader.ReadString(), reader.ReadULong())); }