mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-04-03 20:03:50 +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
|
|
@ -1307,17 +1307,16 @@ public:
|
|||
bool occupied = false;
|
||||
};
|
||||
|
||||
TradeStatus getTradeStatus() const { return tradeStatus_; }
|
||||
bool hasPendingTradeRequest() const { return tradeStatus_ == TradeStatus::PendingIncoming; }
|
||||
bool isTradeOpen() const { return tradeStatus_ == TradeStatus::Open || tradeStatus_ == TradeStatus::Accepted; }
|
||||
const std::string& getTradePeerName() const { return tradePeerName_; }
|
||||
TradeStatus getTradeStatus() const;
|
||||
bool hasPendingTradeRequest() const;
|
||||
bool isTradeOpen() const;
|
||||
const std::string& getTradePeerName() const;
|
||||
|
||||
// My trade slots (what I'm offering)
|
||||
const std::array<TradeSlot, TRADE_SLOT_COUNT>& getMyTradeSlots() const { return myTradeSlots_; }
|
||||
// Peer's trade slots (what they're offering)
|
||||
const std::array<TradeSlot, TRADE_SLOT_COUNT>& getPeerTradeSlots() const { return peerTradeSlots_; }
|
||||
uint64_t getMyTradeGold() const { return myTradeGold_; }
|
||||
uint64_t getPeerTradeGold() const { return peerTradeGold_; }
|
||||
const std::array<TradeSlot, TRADE_SLOT_COUNT>& getMyTradeSlots() const;
|
||||
const std::array<TradeSlot, TRADE_SLOT_COUNT>& getPeerTradeSlots() const;
|
||||
uint64_t getMyTradeGold() const;
|
||||
uint64_t getPeerTradeGold() const;
|
||||
|
||||
void acceptTradeRequest(); // respond to incoming SMSG_TRADE_STATUS(1) with CMSG_BEGIN_TRADE
|
||||
void declineTradeRequest(); // respond with CMSG_CANCEL_TRADE
|
||||
|
|
|
|||
|
|
@ -51,7 +51,7 @@ public:
|
|||
|
||||
TradeStatus getTradeStatus() const { return tradeStatus_; }
|
||||
bool hasPendingTradeRequest() const { return tradeStatus_ == TradeStatus::PendingIncoming; }
|
||||
bool isTradeOpen() const { return tradeStatus_ == TradeStatus::Open; }
|
||||
bool isTradeOpen() const { return tradeStatus_ == TradeStatus::Open || tradeStatus_ == TradeStatus::Accepted; }
|
||||
const std::string& getTradePeerName() const { return tradePeerName_; }
|
||||
const std::array<TradeSlot, TRADE_SLOT_COUNT>& getMyTradeSlots() const { return myTradeSlots_; }
|
||||
const std::array<TradeSlot, TRADE_SLOT_COUNT>& getPeerTradeSlots() const { return peerTradeSlots_; }
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue