mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-03-22 23:30:14 +00:00
feat: fire FRIENDLIST_UPDATE and IGNORELIST_UPDATE events
Fire FRIENDLIST_UPDATE from all three friend list packet handlers: - SMSG_FRIEND_LIST (Classic format) - SMSG_CONTACT_LIST (WotLK format) - SMSG_FRIEND_STATUS (add/remove/online/offline updates) Fire IGNORELIST_UPDATE when SMSG_CONTACT_LIST includes ignore entries. These events are used by social addons to refresh their UI when the friend/ignore list changes.
This commit is contained in:
parent
8f2a2dfbb4
commit
b8d92b5ff2
1 changed files with 7 additions and 0 deletions
|
|
@ -24215,6 +24215,7 @@ void GameHandler::handleFriendList(network::Packet& packet) {
|
||||||
entry.classId = classId;
|
entry.classId = classId;
|
||||||
contacts_.push_back(std::move(entry));
|
contacts_.push_back(std::move(entry));
|
||||||
}
|
}
|
||||||
|
if (addonEventCallback_) addonEventCallback_("FRIENDLIST_UPDATE", {});
|
||||||
}
|
}
|
||||||
|
|
||||||
void GameHandler::handleContactList(network::Packet& packet) {
|
void GameHandler::handleContactList(network::Packet& packet) {
|
||||||
|
|
@ -24278,6 +24279,11 @@ void GameHandler::handleContactList(network::Packet& packet) {
|
||||||
}
|
}
|
||||||
LOG_INFO("SMSG_CONTACT_LIST: mask=", lastContactListMask_,
|
LOG_INFO("SMSG_CONTACT_LIST: mask=", lastContactListMask_,
|
||||||
" count=", lastContactListCount_);
|
" count=", lastContactListCount_);
|
||||||
|
if (addonEventCallback_) {
|
||||||
|
addonEventCallback_("FRIENDLIST_UPDATE", {});
|
||||||
|
if (lastContactListMask_ & 0x2) // ignore list
|
||||||
|
addonEventCallback_("IGNORELIST_UPDATE", {});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void GameHandler::handleFriendStatus(network::Packet& packet) {
|
void GameHandler::handleFriendStatus(network::Packet& packet) {
|
||||||
|
|
@ -24361,6 +24367,7 @@ void GameHandler::handleFriendStatus(network::Packet& packet) {
|
||||||
}
|
}
|
||||||
|
|
||||||
LOG_INFO("Friend status update: ", playerName, " status=", (int)data.status);
|
LOG_INFO("Friend status update: ", playerName, " status=", (int)data.status);
|
||||||
|
if (addonEventCallback_) addonEventCallback_("FRIENDLIST_UPDATE", {});
|
||||||
}
|
}
|
||||||
|
|
||||||
void GameHandler::handleRandomRoll(network::Packet& packet) {
|
void GameHandler::handleRandomRoll(network::Packet& packet) {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue