Ejemplo n.º 1
0
    public void PublishRichPresence([In] BattleNet.DllRichPresenceUpdate[] updates)
    {
        UpdateRequest updateRequest = new UpdateRequest {
            EntityId = base.m_battleNet.GameAccountId
        };
        FieldOperation val   = new FieldOperation();
        Field          field = new Field();
        FieldKey       key   = new FieldKey();

        key.SetProgram(BnetProgramId.BNET.GetValue());
        key.SetGroup(2);
        key.SetField(8);
        foreach (BattleNet.DllRichPresenceUpdate update in updates)
        {
            key.SetIndex(update.presenceFieldIndex);
            bnet.protocol.presence.RichPresence protobuf = new bnet.protocol.presence.RichPresence();
            protobuf.SetIndex(update.index);
            protobuf.SetProgramId(update.programId);
            protobuf.SetStreamId(update.streamId);
            bnet.protocol.attribute.Variant variant = new bnet.protocol.attribute.Variant();
            variant.SetMessageValue(ProtobufUtil.ToByteArray(protobuf));
            field.SetKey(key);
            field.SetValue(variant);
            val.SetField(field);
            updateRequest.SetEntityId(base.m_battleNet.GameAccountId);
            updateRequest.AddFieldOperation(val);
        }
        this.PublishField(updateRequest);
    }
Ejemplo n.º 2
0
 public void Deserialize(Stream stream)
 {
     RichPresence.Deserialize(stream, this);
 }
Ejemplo n.º 3
0
 public static RichPresence Deserialize(Stream stream, RichPresence instance)
 {
     return(RichPresence.Deserialize(stream, instance, -1L));
 }
Ejemplo n.º 4
0
        public override bool Equals(object obj)
        {
            RichPresence richPresence = obj as RichPresence;

            return(richPresence != null && this.ProgramId.Equals(richPresence.ProgramId) && this.StreamId.Equals(richPresence.StreamId) && this.Index.Equals(richPresence.Index));
        }