Server.Network.PacketHandlers.VendorBuyReply C# (CSharp) Méthode

VendorBuyReply() public static méthode

public static VendorBuyReply ( NetState state, PacketReader pvSrc ) : void
state NetState
pvSrc PacketReader
Résultat void
        public static void VendorBuyReply( NetState state, PacketReader pvSrc )
        {
            pvSrc.Seek( 1, SeekOrigin.Begin );

            int msgSize = pvSrc.ReadUInt16();
            Mobile vendor = World.FindMobile( pvSrc.ReadInt32() );
            byte flag = pvSrc.ReadByte();

            if ( vendor == null )
            {
                return;
            }
            else if ( vendor.Deleted || !Utility.RangeCheck( vendor.Location, state.Mobile.Location, 10 ) )
            {
                state.Send( new EndVendorBuy( vendor ) );
                return;
            }

            if ( flag == 0x02 )
            {
                msgSize -= 1+2+4+1;

                if ( (msgSize / 7) > 100 )
                    return;

                List<BuyItemResponse> buyList = new List<BuyItemResponse>( msgSize / 7 );
                for ( ;msgSize>0;msgSize-=7)
                {
                    byte layer = pvSrc.ReadByte();
                    Serial serial = pvSrc.ReadInt32();
                    int amount = pvSrc.ReadInt16();

                    buyList.Add( new BuyItemResponse( serial, amount ) );
                }

                if ( buyList.Count > 0 )
                {
                    IVendor v = vendor as IVendor;

                    if ( v != null && v.OnBuyItems( state.Mobile, buyList ) )
                        state.Send( new EndVendorBuy( vendor ) );
                }
            }
            else
            {
                state.Send( new EndVendorBuy( vendor ) );
            }
        }
PacketHandlers