mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-03-26 00:40:15 +00:00
refactor: extract updateTimers() from GameHandler::update()
Move 164 lines of timer/pending-state logic into updateTimers(): auction delay, quest accept timeouts, money delta, GO loot retries, name query resync, loot money notifications, auto-inspect throttling. update() is now ~430 lines (down from original 704).
This commit is contained in:
parent
7066062136
commit
6343ceb151
2 changed files with 36 additions and 30 deletions
|
|
@ -2315,6 +2315,7 @@ public:
|
|||
*/
|
||||
void update(float deltaTime);
|
||||
void updateNetworking(float deltaTime);
|
||||
void updateTimers(float deltaTime);
|
||||
|
||||
/**
|
||||
* Reset DBC-backed caches so they reload from new expansion data.
|
||||
|
|
|
|||
|
|
@ -928,36 +928,7 @@ void GameHandler::updateNetworking(float deltaTime) {
|
|||
}
|
||||
}
|
||||
|
||||
void GameHandler::update(float deltaTime) {
|
||||
// Fire deferred char-create callback (outside ImGui render)
|
||||
if (pendingCharCreateResult_) {
|
||||
pendingCharCreateResult_ = false;
|
||||
if (charCreateCallback_) {
|
||||
charCreateCallback_(pendingCharCreateSuccess_, pendingCharCreateMsg_);
|
||||
}
|
||||
}
|
||||
|
||||
if (!socket) {
|
||||
return;
|
||||
}
|
||||
|
||||
updateNetworking(deltaTime);
|
||||
if (!socket) return; // disconnect() may have been called
|
||||
|
||||
// Validate target still exists
|
||||
if (targetGuid != 0 && !entityManager.hasEntity(targetGuid)) {
|
||||
clearTarget();
|
||||
}
|
||||
|
||||
// Detect combat state transitions → fire PLAYER_REGEN_DISABLED / PLAYER_REGEN_ENABLED
|
||||
{
|
||||
bool combatNow = isInCombat();
|
||||
if (combatNow != wasCombat_) {
|
||||
wasCombat_ = combatNow;
|
||||
fireAddonEvent(combatNow ? "PLAYER_REGEN_DISABLED" : "PLAYER_REGEN_ENABLED", {});
|
||||
}
|
||||
}
|
||||
|
||||
void GameHandler::updateTimers(float deltaTime) {
|
||||
if (auctionSearchDelayTimer_ > 0.0f) {
|
||||
auctionSearchDelayTimer_ -= deltaTime;
|
||||
if (auctionSearchDelayTimer_ < 0.0f) auctionSearchDelayTimer_ = 0.0f;
|
||||
|
|
@ -1122,6 +1093,40 @@ void GameHandler::update(float deltaTime) {
|
|||
LOG_DEBUG("Sent CMSG_INSPECT for player 0x", std::hex, guid, std::dec);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameHandler::update(float deltaTime) {
|
||||
// Fire deferred char-create callback (outside ImGui render)
|
||||
if (pendingCharCreateResult_) {
|
||||
pendingCharCreateResult_ = false;
|
||||
if (charCreateCallback_) {
|
||||
charCreateCallback_(pendingCharCreateSuccess_, pendingCharCreateMsg_);
|
||||
}
|
||||
}
|
||||
|
||||
if (!socket) {
|
||||
return;
|
||||
}
|
||||
|
||||
updateNetworking(deltaTime);
|
||||
if (!socket) return; // disconnect() may have been called
|
||||
|
||||
// Validate target still exists
|
||||
if (targetGuid != 0 && !entityManager.hasEntity(targetGuid)) {
|
||||
clearTarget();
|
||||
}
|
||||
|
||||
// Detect combat state transitions → fire PLAYER_REGEN_DISABLED / PLAYER_REGEN_ENABLED
|
||||
{
|
||||
bool combatNow = isInCombat();
|
||||
if (combatNow != wasCombat_) {
|
||||
wasCombat_ = combatNow;
|
||||
fireAddonEvent(combatNow ? "PLAYER_REGEN_DISABLED" : "PLAYER_REGEN_ENABLED", {});
|
||||
}
|
||||
}
|
||||
|
||||
updateTimers(deltaTime);
|
||||
|
||||
|
||||
// Send periodic heartbeat if in world
|
||||
if (state == WorldState::IN_WORLD) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue