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); }
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); }
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); }