public static void OnTradeCancel(WorldClient client, INetPacketStream packet) { var tradePacket = new TradeCancelPacket(packet); var tradeEvent = new TradeCancelEventArgs(tradePacket.Mode); client.Player.NotifySystem <TradeSystem>(tradeEvent); }
/// <summary> /// Cancel the current trade /// </summary> /// <param name="player"></param> /// <param name="e"></param> private static void TradeCancel(IPlayerEntity player, TradeCancelEventArgs e) { Logger.Debug("Trade cancel"); if (IsNotTrading(player)) { throw new RhisisSystemException($"No trade target {player.Object.Name}"); } var target = GetEntityFromContextOf(player, player.Trade.TargetId); if (IsNotTrading(target)) { throw new RhisisSystemException($"Target is not trading {target.Object.Name}"); } CancelTrade(player, target, e.Mode); }