mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-04-05 12:43:51 +00:00
fix: trade accept dialog not showing (stale state from domain handler split)
GameHandler::hasPendingTradeRequest() and all trade getters were reading GameHandler's own tradeStatus_/tradeSlots_ which are never written after the PR #23 split. InventoryHandler owns the canonical trade state. Delegate all trade getters to InventoryHandler: - getTradeStatus, hasPendingTradeRequest, isTradeOpen, getTradePeerName - getMyTradeSlots, getPeerTradeSlots, getMyTradeGold, getPeerTradeGold Also fix InventoryHandler::isTradeOpen() to include Accepted state.
This commit is contained in:
parent
99ac31987f
commit
f37994cc1b
3 changed files with 39 additions and 10 deletions
|
|
@ -5074,6 +5074,36 @@ const std::vector<GameHandler::EquipmentSetInfo>& GameHandler::getEquipmentSets(
|
|||
return empty;
|
||||
}
|
||||
|
||||
// Trade state delegation to InventoryHandler (which owns the canonical trade state)
|
||||
GameHandler::TradeStatus GameHandler::getTradeStatus() const {
|
||||
if (inventoryHandler_) return static_cast<TradeStatus>(inventoryHandler_->getTradeStatus());
|
||||
return tradeStatus_;
|
||||
}
|
||||
bool GameHandler::hasPendingTradeRequest() const {
|
||||
return inventoryHandler_ ? inventoryHandler_->hasPendingTradeRequest() : false;
|
||||
}
|
||||
bool GameHandler::isTradeOpen() const {
|
||||
return inventoryHandler_ ? inventoryHandler_->isTradeOpen() : false;
|
||||
}
|
||||
const std::string& GameHandler::getTradePeerName() const {
|
||||
if (inventoryHandler_) return inventoryHandler_->getTradePeerName();
|
||||
return tradePeerName_;
|
||||
}
|
||||
const std::array<GameHandler::TradeSlot, GameHandler::TRADE_SLOT_COUNT>& GameHandler::getMyTradeSlots() const {
|
||||
if (inventoryHandler_) return reinterpret_cast<const std::array<TradeSlot, TRADE_SLOT_COUNT>&>(inventoryHandler_->getMyTradeSlots());
|
||||
return myTradeSlots_;
|
||||
}
|
||||
const std::array<GameHandler::TradeSlot, GameHandler::TRADE_SLOT_COUNT>& GameHandler::getPeerTradeSlots() const {
|
||||
if (inventoryHandler_) return reinterpret_cast<const std::array<TradeSlot, TRADE_SLOT_COUNT>&>(inventoryHandler_->getPeerTradeSlots());
|
||||
return peerTradeSlots_;
|
||||
}
|
||||
uint64_t GameHandler::getMyTradeGold() const {
|
||||
return inventoryHandler_ ? inventoryHandler_->getMyTradeGold() : myTradeGold_;
|
||||
}
|
||||
uint64_t GameHandler::getPeerTradeGold() const {
|
||||
return inventoryHandler_ ? inventoryHandler_->getPeerTradeGold() : peerTradeGold_;
|
||||
}
|
||||
|
||||
bool GameHandler::supportsEquipmentSets() const {
|
||||
return inventoryHandler_ && inventoryHandler_->supportsEquipmentSets();
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue