mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-04-03 20:03:50 +00:00
fix: delegate gossip/quest detail getters to QuestHandler (NPC dialog broken)
4 more stale getters from PR #23 split: - isGossipWindowOpen() — QuestHandler owns gossipWindowOpen_ - getCurrentGossip() — QuestHandler owns currentGossip_ - isQuestDetailsOpen() — QuestHandler owns questDetailsOpen_ - getQuestDetails() — QuestHandler owns currentQuestDetails_ Also fix GameHandler::update() distance-close checks to use delegating getters instead of stale member variables for vendor/gossip/taxi/trainer. Map state (currentMapId_, worldStateZoneId_, exploredZones_) confirmed NOT stale — domain handlers write via owner_. reference to GameHandler's members. Those getters are correct as-is.
This commit is contained in:
parent
ee02faa183
commit
b81c616785
2 changed files with 24 additions and 19 deletions
|
|
@ -1467,10 +1467,10 @@ void GameHandler::update(float deltaTime) {
|
|||
LOG_INFO(label, " closed: walked too far from NPC");
|
||||
}
|
||||
};
|
||||
closeIfTooFar(vendorWindowOpen, currentVendorItems.vendorGuid, [this]{ closeVendor(); }, "Vendor");
|
||||
closeIfTooFar(gossipWindowOpen, currentGossip.npcGuid, [this]{ closeGossip(); }, "Gossip");
|
||||
closeIfTooFar(taxiWindowOpen_, taxiNpcGuid_, [this]{ closeTaxi(); }, "Taxi window");
|
||||
closeIfTooFar(trainerWindowOpen_, currentTrainerList_.trainerGuid, [this]{ closeTrainer(); }, "Trainer");
|
||||
closeIfTooFar(isVendorWindowOpen(), getVendorItems().vendorGuid, [this]{ closeVendor(); }, "Vendor");
|
||||
closeIfTooFar(isGossipWindowOpen(), getCurrentGossip().npcGuid, [this]{ closeGossip(); }, "Gossip");
|
||||
closeIfTooFar(isTaxiWindowOpen(), taxiNpcGuid_, [this]{ closeTaxi(); }, "Taxi window");
|
||||
closeIfTooFar(isTrainerWindowOpen(), getTrainerSpells().trainerGuid, [this]{ closeTrainer(); }, "Trainer");
|
||||
|
||||
updateEntityInterpolation(deltaTime);
|
||||
|
||||
|
|
@ -9973,6 +9973,22 @@ void GameHandler::cancelPetUnlearn() {
|
|||
|
||||
// ---- QuestHandler delegating getters ----
|
||||
|
||||
bool GameHandler::isGossipWindowOpen() const {
|
||||
return questHandler_ ? questHandler_->isGossipWindowOpen() : gossipWindowOpen;
|
||||
}
|
||||
const GossipMessageData& GameHandler::getCurrentGossip() const {
|
||||
if (questHandler_) return questHandler_->getCurrentGossip();
|
||||
return currentGossip;
|
||||
}
|
||||
bool GameHandler::isQuestDetailsOpen() {
|
||||
if (questHandler_) return questHandler_->isQuestDetailsOpen();
|
||||
return questDetailsOpen;
|
||||
}
|
||||
const QuestDetailsData& GameHandler::getQuestDetails() const {
|
||||
if (questHandler_) return questHandler_->getQuestDetails();
|
||||
return currentQuestDetails;
|
||||
}
|
||||
|
||||
const std::vector<GossipPoi>& GameHandler::getGossipPois() const {
|
||||
if (questHandler_) return questHandler_->getGossipPois();
|
||||
static const std::vector<GossipPoi> empty;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue