예제 #1
0
        public CatalogPageMessageProductData(IPacketReader packet)
        {
            ItemType = packet.NextString();

            switch (ItemType)
            {
            case "b":
                Name   = packet.NextString();
                Amount = 1;
                break;

            default:
                SpriteId  = packet.NextInt();
                Name      = packet.NextString();
                Amount    = packet.NextInt();
                IsLimited = packet.NextBool();

                if (IsLimited)
                {
                    LimitedEditionStack = packet.NextInt();
                    LimitedEditionSells = packet.NextInt();
                }
                break;
            }
        }
예제 #2
0
 public FriendData(IPacketReader PacketOriginal)
 {
     Id                    = PacketOriginal.NextInt();
     Username              = PacketOriginal.NextString();
     Gender                = PacketOriginal.NextInt();
     Online                = PacketOriginal.NextBool();
     InRoom                = PacketOriginal.NextBool();
     Figure                = PacketOriginal.NextString();
     CategoryId            = PacketOriginal.NextInt();
     Motto                 = PacketOriginal.NextString();
     FacebookUsername      = PacketOriginal.NextString();
     Unknown1              = PacketOriginal.NextString();
     AllowOfflineMessaging = PacketOriginal.NextBool();
     Unknown3              = PacketOriginal.NextBool();
     IsMobileUser          = PacketOriginal.NextBool();
     RelationshipStatus    = PacketOriginal.NextShort();
 }
예제 #3
0
        public RoomUser(IPacketReader packet)
        {
            UserId      = packet.NextInt();
            DisplayName = packet.NextString();
            Motto       = packet.NextString();
            Figure      = packet.NextString();
            VirtualId   = packet.NextInt();
            X           = packet.NextInt();
            Y           = packet.NextInt();
            Z           = double.Parse(packet.NextString(), CultureInfo.InvariantCulture);
            Unknown0    = packet.NextInt();
            Unknown1    = (RoomUserType)packet.NextInt();

            switch (Unknown1)
            {
            case RoomUserType.User:
                UserGender   = packet.NextString();
                UserUnknown0 = packet.NextInt();
                UserUnknown1 = packet.NextInt();
                UserUnknown2 = packet.NextString();
                UserUnknown3 = packet.NextString();
                UserUnknown4 = packet.NextInt();
                UserUnknown5 = packet.NextBool();
                break;

            case RoomUserType.Pet:
                PetUnknown0  = packet.NextInt();
                PetUnknown1  = packet.NextInt();
                PetUnknown2  = packet.NextString();
                PetUnknown3  = packet.NextInt();
                PetUnknown4  = packet.NextBool();
                PetUnknown5  = packet.NextBool();
                PetUnknown6  = packet.NextBool();
                PetUnknown7  = packet.NextBool();
                PetUnknown8  = packet.NextBool();
                PetUnknown9  = packet.NextBool();
                PetUnknown10 = packet.NextInt();
                PetUnknown11 = packet.NextString();
                break;

            case RoomUserType.Unknown1:
                // Nothing.
                break;

            case RoomUserType.Bot:
                BotUnknown0 = packet.NextString();
                BotUnknown1 = packet.NextInt();
                BotUnknown2 = packet.NextString();
                BotUnknown3 = new List <short>(packet.NextInt());

                for (var i = 0; i < BotUnknown3.Capacity; i++)
                {
                    BotUnknown3.Add(packet.NextShort());
                }
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }
        }
예제 #4
0
        public CatalogPageMessageOfferData(IPacketReader packet)
        {
            OfferId            = packet.NextInt();
            Name               = packet.NextString();
            IsRentable         = packet.NextBool();
            CostCredits        = packet.NextInt();
            CostAdditional     = packet.NextInt();
            CostAdditionalType = packet.NextInt();
            IsGiftable         = packet.NextBool();

            Products = new List <CatalogPageMessageProductData>(packet.NextInt());
            for (var i = 0; i < Products.Capacity; i++)
            {
                Products.Add(new CatalogPageMessageProductData(packet));
            }

            ClubLevel       = packet.NextInt();
            CanSelectAmount = packet.NextBool();
            Unknown0        = packet.NextBool();
            Unknown1        = packet.NextString();
        }
        public WebSearchResultList(IPacketReader packet)
        {
            CategoryId    = packet.NextString();
            PublicName    = packet.NextString();
            ActionAllowed = packet.NextInt();
            IsMinimized   = packet.NextBool();
            ViewMode      = (WebSearchResultListViewMode)packet.NextInt();
            GuestRooms    = new List <WebRoomData>(packet.NextInt());

            for (var i = 0; i < GuestRooms.Capacity; i++)
            {
                GuestRooms.Add(new WebRoomData(packet));
            }
        }
예제 #6
0
        public NodeData(IPacketReader packet)
        {
            Visible      = packet.NextBool();
            IconId       = packet.NextInt();
            PageId       = packet.NextInt();
            Unknown0     = packet.NextString();
            Localization = packet.NextString();

            Offers = new List <int>(packet.NextInt());
            for (var i = 0; i < Offers.Capacity; i++)
            {
                Offers.Add(packet.NextInt());
            }

            Children = new List <NodeData>(packet.NextInt());
            for (var i = 0; i < Children.Capacity; i++)
            {
                Children.Add(new NodeData(packet));
            }
        }