public void Handle(WorldClient client, TradeAddMoneyPacket packet) { var ok = _tradeManager.TryAddMoney(packet.Money, out var money); if (ok) { _packetFactory.SendAddedMoneyToTrade(client, 1, money); _packetFactory.SendAddedMoneyToTrade(_gameWorld.Players[_tradeManager.PartnerId].GameSession.Client, 2, money); } }
/// <summary> /// Adds money to trade. /// </summary> /// <param name="sender">player, that added money</param> private void AddMoneyToTrade(IWorldClient sender, TradeAddMoneyPacket tradeAddMoneyPacket) { var trader = _gameWorld.Players[sender.CharID]; var partner = trader.TradePartner; trader.TradeMoney = tradeAddMoneyPacket.Money < trader.Gold ? tradeAddMoneyPacket.Money : trader.Gold; SendAddedMoneyToTrade(trader.Client, 1, trader.TradeMoney); SendAddedMoneyToTrade(partner.Client, 2, trader.TradeMoney); }