/// <summary> /// When overridden in the derived class, handles when the PeerTradeInfoHandler property's value changes. /// </summary> /// <param name="oldHandler">The old (last) peer trade information handler. Can be null.</param> /// <param name="newHandler">The new (current) peer trade information handler. Can be null.</param> protected override void OnPeerTradeInfoHandlerChanged( ClientPeerTradeInfoHandlerBase <Character, ItemEntity, IItemTable> oldHandler, ClientPeerTradeInfoHandlerBase <Character, ItemEntity, IItemTable> newHandler) { base.OnPeerTradeInfoHandlerChanged(oldHandler, newHandler); // Remove the event hooks from the old handler if (oldHandler != null) { oldHandler.TradeOpened -= PeerTradeInfoHandler_TradeOpened; } // Set the event hooks onto the new handler if (newHandler != null) { newHandler.TradeOpened += PeerTradeInfoHandler_TradeOpened; } }
/// <summary> /// Handles the <see cref="ClientPeerTradeInfoHandlerBase{Character, ItemEntity, IItemTable}.TradeOpened"/> event on a /// <see cref="ClientPeerTradeInfoHandlerBase{Character, ItemEntity, IItemTable}"/>. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param> void PeerTradeInfoHandler_TradeOpened(ClientPeerTradeInfoHandlerBase <Character, ItemEntity, IItemTable> sender, EventArgs e) { // Figure out which side is for the client, and which side is for the other character PeerTradeSidePanel ourSide; PeerTradeSidePanel theirSide; if (sender.UserIsSource) { ourSide = SourceSide; theirSide = TargetSide; } else { ourSide = TargetSide; theirSide = SourceSide; } // Set up the display ourSide.Title.Text = "(You)"; theirSide.Title.Text = sender.OtherCharName; }