public static void SecureTrade( NetState state, PacketReader pvSrc )
{
switch ( pvSrc.ReadByte() )
{
case 1: // Cancel
{
Serial serial = pvSrc.ReadInt32();
SecureTradeContainer cont = World.FindItem( serial ) as SecureTradeContainer;
if ( cont != null && cont.Trade != null && (cont.Trade.From.Mobile == state.Mobile || cont.Trade.To.Mobile == state.Mobile) )
cont.Trade.Cancel();
break;
}
case 2: // Check
{
Serial serial = pvSrc.ReadInt32();
SecureTradeContainer cont = World.FindItem( serial ) as SecureTradeContainer;
if ( cont != null )
{
SecureTrade trade = cont.Trade;
bool value = ( pvSrc.ReadInt32() != 0 );
if ( trade != null && trade.From.Mobile == state.Mobile )
{
trade.From.Accepted = value;
trade.Update();
}
else if ( trade != null && trade.To.Mobile == state.Mobile )
{
trade.To.Accepted = value;
trade.Update();
}
}
break;
}
case 3: // Update Gold
{
Serial serial = pvSrc.ReadInt32();
SecureTradeContainer cont = World.FindItem(serial) as SecureTradeContainer;
if (cont != null)
{
int gold = pvSrc.ReadInt32();
int plat = pvSrc.ReadInt32();
SecureTrade trade = cont.Trade;
if (trade != null)
{
if (trade.From.Mobile == state.Mobile)
{
trade.From.Gold = gold;
trade.From.Plat = plat;
trade.UpdateFromCurrency();
}
else if (trade.To.Mobile == state.Mobile)
{
trade.To.Gold = gold;
trade.To.Plat = plat;
trade.UpdateToCurrency();
}
}
}
}
break;
}
}