Example #1
0
 protected virtual void Initialize(IReadOnlyPacket packet)
 {
     if (Flags.HasFlag(ItemDataFlags.IsLimitedRare))
     {
         LimitedNumber = packet.ReadInt();
         LimitedTotal  = packet.ReadInt();
     }
 }
Example #2
0
 protected GroupMember(IReadOnlyPacket packet)
 {
     Type   = (GroupMemberType)packet.ReadInt();
     Id     = packet.ReadLegacyLong();
     Name   = packet.ReadString();
     Figure = packet.ReadString();
     Joined = DateTime.Parse(packet.ReadString());
 }
Example #3
0
 internal ChatSettings(IReadOnlyPacket packet)
 {
     Flow                = (ChatFlow)packet.ReadInt();
     BubbleWidth         = (ChatBubbleWidth)packet.ReadInt();
     ScrollSpeed         = (ChatScrollSpeed)packet.ReadInt();
     TalkHearingDistance = packet.ReadInt();
     FloodProtection     = (ChatFloodProtection)packet.ReadInt();
 }
Example #4
0
        protected ActivityPoints(IReadOnlyPacket packet)
        {
            short n = packet.ReadLegacyShort();

            for (int i = 0; i < n; i++)
            {
                var type = (ActivityPointType)packet.ReadInt();
                dictionary[type] = packet.ReadInt();
            }
        }
Example #5
0
 protected GroupInfo(IReadOnlyPacket packet)
 {
     Id             = packet.ReadLegacyLong();
     Name           = packet.ReadString();
     BadgeCode      = packet.ReadString();
     PrimaryColor   = packet.ReadString();
     SecondaryColor = packet.ReadString();
     IsFavorite     = packet.ReadBool();
     OwnerId        = packet.ReadLegacyLong();
     HasForum       = packet.ReadBool();
 }
Example #6
0
        protected NavigatorSearchResults(IReadOnlyPacket packet)
        {
            Category = packet.ReadString();
            Filter   = packet.ReadString();
            short n = packet.ReadLegacyShort();

            for (int i = 0; i < n; i++)
            {
                Add(NavigatorSearchResultList.Parse(packet));
            }
        }
Example #7
0
 protected UserSearchResult(IReadOnlyPacket packet)
 {
     Id             = packet.ReadLegacyLong();
     Name           = packet.ReadString();
     Motto          = packet.ReadString();
     Online         = packet.ReadBool();
     UnknownBoolA   = packet.ReadBool();
     UnknownStringA = packet.ReadString();
     UnknownLongA   = packet.ReadLegacyLong();
     Figure         = packet.ReadString();
     RealName       = packet.ReadString();
 }
Example #8
0
        protected TradeOffer(IReadOnlyPacket packet)
            : this()
        {
            UserId = packet.ReadInt();
            int n = packet.ReadInt();

            for (int i = 0; i < n; i++)
            {
                Items.Add(TradeItem.Parse(packet));
            }
            FurniCount  = packet.ReadInt();
            CreditCount = packet.ReadInt();
        }
Example #9
0
        private Heightmap(IReadOnlyPacket packet)
        {
            Width = packet.ReadInt();
            short n = packet.ReadLegacyShort();

            Length = n / Width;

            Values = new short[n];
            for (int i = 0; i < n; i++)
            {
                Values[i] = packet.ReadShort();
            }
        }
Example #10
0
        public Bot(EntityType type, long id, int index, IReadOnlyPacket packet)
            : this(type, id, index)
        {
            if (type == EntityType.PrivateBot)
            {
                Gender    = H.ToGender(packet.ReadString());
                OwnerId   = packet.ReadLegacyLong();
                OwnerName = packet.ReadString();

                short n = packet.ReadLegacyShort();
                for (int i = 0; i < n; i++)
                {
                    Data.Add(packet.ReadShort());
                }
            }
        }
Example #11
0
        protected RoomInfo(IReadOnlyPacket packet)
            : this()
        {
            Id          = packet.ReadLegacyLong();
            Name        = packet.ReadString();
            OwnerId     = packet.ReadLegacyLong();
            OwnerName   = packet.ReadString();
            Access      = (RoomAccess)packet.ReadInt();
            Users       = packet.ReadInt();
            MaxUsers    = packet.ReadInt();
            Description = packet.ReadString();
            Trading     = (TradePermissions)packet.ReadInt();
            Score       = packet.ReadInt();
            Ranking     = packet.ReadInt();
            Category    = (RoomCategory)packet.ReadInt();

            int n = packet.ReadLegacyShort();

            for (int i = 0; i < n; i++)
            {
                Tags.Add(packet.ReadString());
            }

            Flags = (RoomFlags)packet.ReadInt();

            if (Flags.HasFlag(RoomFlags.HasOfficialRoomPic))
            {
                OfficialRoomPicRef = packet.ReadString();
            }

            if (Flags.HasFlag(RoomFlags.IsGroupHomeRoom))
            {
                GroupId    = packet.ReadLegacyLong();
                GroupName  = packet.ReadString();
                GroupBadge = packet.ReadString();
            }

            if (Flags.HasFlag(RoomFlags.HasEvent))
            {
                EventName        = packet.ReadString();
                EventDescription = packet.ReadString();
                EventMinutesLeft = packet.ReadInt();
            }
        }
Example #12
0
        protected MarketplaceItem(IReadOnlyPacket packet)
        {
            Id          = packet.ReadLegacyLong();
            UnknownInt2 = packet.ReadInt();

            int itemType = packet.ReadInt();

            switch (itemType)
            {
            case 1:
                Type = ItemType.Floor;
                Kind = packet.ReadInt();
                Data = StuffData.Parse(packet);
                break;

            case 2:
                Type = ItemType.Wall;
                Kind = packet.ReadInt();
                Data = new LegacyData()
                {
                    Value = packet.ReadString()
                };
                break;

            case 3:
                Type = ItemType.Floor;
                Kind = packet.ReadInt();
                Data = new LegacyData()
                {
                    Flags         = ItemDataFlags.IsLimitedRare,
                    LimitedNumber = packet.ReadInt(),
                    LimitedTotal  = packet.ReadInt()
                };
                break;

            default: throw new Exception($"Unknown MarketplaceItem type: {itemType}");
            }

            Price         = packet.ReadInt();
            TimeRemaining = packet.ReadInt();
            Average       = packet.ReadInt();
            Offers        = packet.ReadInt();
        }