private void AddInvitationInternal(FriendsUpdate.Action action, Invitation invitation, int reason) { if (invitation == null) { return; } FriendsUpdate friendsUpdate = default(FriendsUpdate); friendsUpdate.action = (int)action; friendsUpdate.long1 = invitation.Id; friendsUpdate.entity1 = this.GetBnetEntityIdFromIdentity(invitation.InviterIdentity); if (invitation.HasInviterName) { friendsUpdate.string1 = invitation.InviterName; } friendsUpdate.entity2 = this.GetBnetEntityIdFromIdentity(invitation.InviteeIdentity); if (invitation.HasInviteeName) { friendsUpdate.string2 = invitation.InviteeName; } if (invitation.HasInvitationMessage) { friendsUpdate.string3 = invitation.InvitationMessage; } friendsUpdate.bool1 = false; if (invitation.HasCreationTime) { friendsUpdate.long2 = invitation.CreationTime; } if (invitation.HasExpirationTime) { friendsUpdate.long3 = invitation.ExpirationTime; } this.m_updateList.Add(friendsUpdate); }
public static FriendsUpdate read(BinaryReader binaryReader) { FriendsUpdate newObj = new FriendsUpdate(); newObj.friendDataList = PList <FriendData> .read(binaryReader); newObj.updateType = (FriendsUpdateType)binaryReader.ReadUInt32(); return(newObj); }
private void AddFriendInternal(BnetEntityId entityId) { if (entityId == null) { return; } FriendsUpdate friendsUpdate = default(FriendsUpdate); friendsUpdate.action = 1; friendsUpdate.entity1 = entityId; this.m_updateList.Add(friendsUpdate); this.m_battleNet.Presence.PresenceSubscribe(BnetEntityId.CreateForProtocol(entityId)); this.m_friendEntityId.Add(entityId, new Map <ulong, bnet.protocol.EntityId>()); this.m_friendsCount = (uint)this.m_friendEntityId.Count; }
private void RemoveFriendInternal(BnetEntityId entityId) { if (entityId == null) { return; } FriendsUpdate friendsUpdate = default(FriendsUpdate); friendsUpdate.action = 2; friendsUpdate.entity1 = entityId; this.m_updateList.Add(friendsUpdate); this.m_battleNet.Presence.PresenceUnsubscribe(BnetEntityId.CreateForProtocol(entityId)); if (this.m_friendEntityId.ContainsKey(entityId)) { foreach (bnet.protocol.EntityId current in this.m_friendEntityId[entityId].Values) { this.m_battleNet.Presence.PresenceUnsubscribe(current); } this.m_friendEntityId.Remove(entityId); } this.m_friendsCount = (uint)this.m_friendEntityId.Count; }
public override bool acceptMessageData(BinaryReader messageDataReader, TreeView outputTreeView) { bool handled = true; PacketOpcode opcode = Util.readOpcode(messageDataReader); switch (opcode) { case PacketOpcode.Evt_Social__ClearFriends_ID: { EmptyMessage message = new EmptyMessage(opcode); message.contributeToTreeView(outputTreeView); break; } case PacketOpcode.Evt_Social__RemoveFriend_ID: { RemoveFriend message = RemoveFriend.read(messageDataReader); message.contributeToTreeView(outputTreeView); break; } case PacketOpcode.Evt_Social__AddFriend_ID: { AddFriend message = AddFriend.read(messageDataReader); message.contributeToTreeView(outputTreeView); break; } case PacketOpcode.Evt_Social__FriendsUpdate_ID: { FriendsUpdate message = FriendsUpdate.read(messageDataReader); message.contributeToTreeView(outputTreeView); break; } // TODO: AddCharacterTitle case PacketOpcode.Evt_Social__CharacterTitleTable_ID: { CharacterTitleTable message = CharacterTitleTable.read(messageDataReader); message.contributeToTreeView(outputTreeView); break; } case PacketOpcode.Evt_Social__AddOrSetCharacterTitle_ID: { AddOrSetCharacterTitle message = AddOrSetCharacterTitle.read(messageDataReader); message.contributeToTreeView(outputTreeView); break; } case PacketOpcode.Evt_Social__SetDisplayCharacterTitle_ID: { SetDisplayCharacterTitle message = SetDisplayCharacterTitle.read(messageDataReader); message.contributeToTreeView(outputTreeView); break; } case PacketOpcode.Evt_Social__SendClientContractTrackerTable_ID: { SendClientContractTrackerTable message = SendClientContractTrackerTable.read(messageDataReader); message.contributeToTreeView(outputTreeView); break; } case PacketOpcode.Evt_Social__SendClientContractTracker_ID: { SendClientContractTracker message = SendClientContractTracker.read(messageDataReader); message.contributeToTreeView(outputTreeView); break; } case PacketOpcode.Evt_Social__AbandonContract_ID: { AbandonContract message = AbandonContract.read(messageDataReader); message.contributeToTreeView(outputTreeView); break; } default: { handled = false; break; } } return(handled); }