示例#1
0
 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);
     }
 }
示例#2
0
 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);
     }
 }