PeerColorCollectible.deserialize constructor

PeerColorCollectible.deserialize(
  1. BinaryReader reader
)

Deserialize.

Implementation

factory PeerColorCollectible.deserialize(BinaryReader reader) {
  // Read [PeerColorCollectible] fields.
  final flags = reader.readInt32();
  final collectibleId = reader.readInt64();
  final giftEmojiId = reader.readInt64();
  final backgroundEmojiId = reader.readInt64();
  final accentColor = reader.readInt32();
  final colors = reader.readVectorInt32();
  final hasDarkAccentColorField = (flags & 1) != 0;
  final darkAccentColor = hasDarkAccentColorField ? reader.readInt32() : null;
  final hasDarkColorsField = (flags & 2) != 0;
  final darkColors = hasDarkColorsField ? reader.readVectorInt32() : null;

  // Construct [PeerColorCollectible] object.
  final returnValue = PeerColorCollectible(
    collectibleId: collectibleId,
    giftEmojiId: giftEmojiId,
    backgroundEmojiId: backgroundEmojiId,
    accentColor: accentColor,
    colors: colors.items,
    darkAccentColor: darkAccentColor,
    darkColors: darkColors?.items,
  );

  // Now return the deserialized [PeerColorCollectible].
  return returnValue;
}