Beispiel #1
0
        public void RemoveFriend(BnetAccountId account)
        {
            if (this.m_state != FriendsAPI.FriendsAPIState.INITIALIZED)
            {
                return;
            }
            bnet.protocol.EntityId entityId = new bnet.protocol.EntityId();
            entityId.SetLow(account.GetLo());
            entityId.SetHigh(account.GetHi());
            GenericFriendRequest genericFriendRequest = new GenericFriendRequest();

            genericFriendRequest.SetTargetId(entityId);
            GenericFriendRequest genericFriendRequest1 = genericFriendRequest;

            if (!genericFriendRequest1.IsInitialized)
            {
                base.ApiLog.LogWarning("Battle.net Friends API C#: Failed to RemoveFriend.");
                this.m_battleNet.EnqueueErrorInfo(BnetFeature.Friends, BnetFeatureEvent.Friends_OnRemoveFriend, BattleNetErrors.ERROR_API_NOT_READY, 0);
                return;
            }
            this.m_rpcConnection.QueueRequest(this.m_friendsService.Id, 8, genericFriendRequest1, new RPCContextDelegate(this.RemoveFriendCallback), 0);
        }
Beispiel #2
0
        public void RequestPresenceFields(bool isGameAccountEntityId, [In] bgs.types.EntityId entityId, [In] PresenceFieldKey[] fieldList)
        {
            QueryRequest queryRequest = new QueryRequest();

            bnet.protocol.EntityId entityId2 = new bnet.protocol.EntityId();
            entityId2.SetHigh(entityId.hi);
            entityId2.SetLow(entityId.lo);
            queryRequest.SetEntityId(entityId2);
            foreach (PresenceFieldKey presenceFieldKey in fieldList)
            {
                FieldKey fieldKey = new FieldKey();
                fieldKey.SetProgram(presenceFieldKey.programId);
                fieldKey.SetGroup(presenceFieldKey.groupId);
                fieldKey.SetField(presenceFieldKey.fieldId);
                fieldKey.SetIndex(presenceFieldKey.index);
                queryRequest.AddKey(fieldKey);
            }
            this.m_rpcConnection.QueueRequest(this.m_presenceService.Id, 4u, queryRequest, delegate(RPCContext context)
            {
                this.RequestPresenceFieldsCallback(new bgs.types.EntityId(entityId), context);
            }, 0u);
        }
Beispiel #3
0
        public void SendFriendInvite(string sender, string target, bool byEmail)
        {
            if (this.m_state != FriendsAPI.FriendsAPIState.INITIALIZED)
            {
                return;
            }
            SendInvitationRequest sendInvitationRequest = new SendInvitationRequest();

            bnet.protocol.EntityId entityId = new bnet.protocol.EntityId();
            entityId.SetLow((ulong)0);
            entityId.SetHigh((ulong)0);
            sendInvitationRequest.SetTargetId(entityId);
            InvitationParams       invitationParam       = new InvitationParams();
            FriendInvitationParams friendInvitationParam = new FriendInvitationParams();

            if (!byEmail)
            {
                friendInvitationParam.SetTargetBattleTag(target);
                friendInvitationParam.AddRole(1);
            }
            else
            {
                friendInvitationParam.SetTargetEmail(target);
                friendInvitationParam.AddRole(2);
            }
            invitationParam.SetFriendParams(friendInvitationParam);
            sendInvitationRequest.SetParams(invitationParam);
            SendInvitationRequest sendInvitationRequest1 = sendInvitationRequest;

            if (!sendInvitationRequest1.IsInitialized)
            {
                base.ApiLog.LogWarning("Battle.net Friends API C#: Failed to SendFriendInvite.");
                return;
            }
            this.m_rpcConnection.QueueRequest(this.m_friendsService.Id, 2, sendInvitationRequest1, new RPCContextDelegate(this.SendInvitationCallback), 0);
        }