예제 #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 RoomChatSettings(IPacketReader packet)
 {
     ChatMode     = packet.NextInt();
     ChatSize     = packet.NextInt();
     ChatSpeed    = packet.NextInt();
     ChatDistance = packet.NextInt();
     ExtraFlood   = packet.NextInt();
 }
예제 #3
0
 public RoomUserUpdate(IPacketReader packet)
 {
     VirtualId = packet.NextInt();
     X         = packet.NextInt();
     Y         = packet.NextInt();
     Z         = double.Parse(packet.NextString(), CultureInfo.InvariantCulture);
     RotHead   = packet.NextInt();
     RotBody   = packet.NextInt();
     Status    = packet.NextString();
 }
예제 #4
0
        public FriendDataUpdate(IPacketReader packet)
        {
            Type = packet.NextInt();

            if (Type == -1)
            {
                FriendId = packet.NextInt();
            }
            else
            {
                Data = new FriendData(packet);
            }
        }
        public CatalogLocalizationData(IPacketReader packet)
        {
            One = new List <string>(packet.NextInt());
            for (var i = 0; i < One.Capacity; i++)
            {
                One.Add(packet.NextString());
            }

            Two = new List <string>(packet.NextInt());
            for (var i = 0; i < Two.Capacity; i++)
            {
                Two.Add(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));
            }
        }
예제 #7
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();
 }
예제 #8
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));
            }
        }
예제 #9
0
        public FrontPageItem(IPacketReader packet)
        {
            Position = packet.NextInt();
            Name     = packet.NextString();
            Image    = packet.NextString();
            Type     = packet.NextInt();

            switch (Type)
            {
            case 0:
            case 2:
                TypeStr = packet.NextString();
                break;

            case 1:
                TypeInt = packet.NextInt();
                break;
            }

            ExpirySeconds = packet.NextInt();
        }
예제 #10
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();
        }
예제 #11
0
        public WebRoomData(IPacketReader packet)
        {
            FlatId          = packet.NextInt();
            RoomName        = packet.NextString();
            OwnerId         = packet.NextInt();
            OwnerName       = packet.NextString();
            RoomAccess      = packet.NextInt();
            UsersNow        = packet.NextInt();
            UsersMax        = packet.NextInt();
            RoomDescription = packet.NextString();
            TradeSettings   = packet.NextInt();
            Score           = packet.NextInt();
            Ranking         = packet.NextInt();
            Category        = packet.NextInt();

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

            RoomType = (WebRoomDataRoomType)packet.NextInt();

            if (RoomType.HasFlag(WebRoomDataRoomType.Official))
            {
                OfficialRoomPicReference = packet.NextString();
            }

            if (RoomType.HasFlag(WebRoomDataRoomType.Group))
            {
                GroupId    = packet.NextInt();
                GroupName  = packet.NextString();
                GroupBadge = packet.NextString();
            }

            if (RoomType.HasFlag(WebRoomDataRoomType.Promotion))
            {
                PromotionName        = packet.NextString();
                PromotionDescription = packet.NextString();
                PromotionMinutesLeft = packet.NextInt();
            }
        }
예제 #12
0
 public FriendRequestData(IPacketReader packet)
 {
     UserId   = packet.NextInt();
     Username = packet.NextString();
     Figure   = packet.NextString();
 }
 public FriendCategoryData(IPacketReader packet)
 {
     Id   = packet.NextInt();
     Name = packet.NextString();
 }
예제 #14
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();
            }
        }
 public RoomModerationSettings(IPacketReader packet)
 {
     WhoMute = packet.NextInt();
     WhoKick = packet.NextInt();
     WhoBan  = packet.NextInt();
 }