public void Pack(BinaryWriter writer) { writer.Write(Flags); if ((Flags & 0x00000001) != 0) { OptionInts.Pack(writer); } if ((Flags & 0x00000002) != 0) { OptionBools.Pack(writer); } if ((Flags & 0x00000004) != 0) { OptionFloats.Pack(writer); } if ((Flags & 0x00000008) != 0) { OptionStrings.Pack(writer); } }
public void Unpack(BinaryReader reader) { Flags = reader.ReadUInt32(); if ((Flags & 0x00000001) != 0) { OptionInts.Unpack(reader); } if ((Flags & 0x00000002) != 0) { OptionBools.Unpack(reader); } if ((Flags & 0x00000004) != 0) { OptionFloats.Unpack(reader); } if ((Flags & 0x00000008) != 0) { OptionStrings.Unpack(reader); } }