mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-03-23 07:40:14 +00:00
feat: fire PLAYER_TARGET_CHANGED and PLAYER_LEVEL_UP addon events
Add a generic AddonEventCallback to GameHandler for firing named events with string arguments directly from game logic. Wire it to the addon system in Application. New events fired: - PLAYER_TARGET_CHANGED — when target is set or cleared - PLAYER_LEVEL_UP(newLevel) — on level up The generic callback pattern makes it easy to add more events from game_handler.cpp without touching Application/AddonManager code. Total addon events: 16 (2 world + 12 chat + 2 gameplay).
This commit is contained in:
parent
c284a971c2
commit
269d9e2d40
3 changed files with 14 additions and 0 deletions
|
|
@ -4557,6 +4557,7 @@ void GameHandler::handlePacket(network::Packet& packet) {
|
|||
sfx->playLevelUp();
|
||||
}
|
||||
if (levelUpCallback_) levelUpCallback_(newLevel);
|
||||
if (addonEventCallback_) addonEventCallback_("PLAYER_LEVEL_UP", {std::to_string(newLevel)});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -13332,11 +13333,13 @@ void GameHandler::setTarget(uint64_t guid) {
|
|||
if (guid != 0) {
|
||||
LOG_INFO("Target set: 0x", std::hex, guid, std::dec);
|
||||
}
|
||||
if (addonEventCallback_) addonEventCallback_("PLAYER_TARGET_CHANGED", {});
|
||||
}
|
||||
|
||||
void GameHandler::clearTarget() {
|
||||
if (targetGuid != 0) {
|
||||
LOG_INFO("Target cleared");
|
||||
if (addonEventCallback_) addonEventCallback_("PLAYER_TARGET_CHANGED", {});
|
||||
}
|
||||
targetGuid = 0;
|
||||
tabCycleIndex = -1;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue