Esempio n. 1
0
    public HFloorObject(IHFormat format, ref ReadOnlySpan <byte> packetSpan)
    {
        Id     = format.Read <int>(ref packetSpan);
        TypeId = format.Read <int>(ref packetSpan);

        int x = format.Read <int>(ref packetSpan);
        int y = format.Read <int>(ref packetSpan);

        Facing = (HDirection)format.Read <int>(ref packetSpan);
        Tile   = new HPoint(x, y, float.Parse(format.ReadUTF8(ref packetSpan), CultureInfo.InvariantCulture));

        Height = double.Parse(format.ReadUTF8(ref packetSpan), CultureInfo.InvariantCulture);
        Extra  = format.Read <int>(ref packetSpan);

        StuffData = HStuffData.Parse(format, ref packetSpan);

        SecondsToExpiration = format.Read <int>(ref packetSpan);
        UsagePolicy         = (HUsagePolicy)format.Read <int>(ref packetSpan);

        OwnerId = format.Read <int>(ref packetSpan);
        if (TypeId < 0)
        {
            StaticClass = format.ReadUTF8(ref packetSpan);
        }
    }
Esempio n. 2
0
    public HItem(IHFormat format, ref ReadOnlySpan <byte> packetSpan)
    {
        RoomItemId = format.Read <int>(ref packetSpan);
        Type       = (HProductType)format.ReadUTF8(ref packetSpan)[0];
        Id         = format.Read <int>(ref packetSpan);
        TypeId     = format.Read <int>(ref packetSpan);
        Category   = (HFurniCategory)format.Read <int>(ref packetSpan);

        StuffData = HStuffData.Parse(format, ref packetSpan);

        IsRecyclable = format.Read <bool>(ref packetSpan);
        IsTradable   = format.Read <bool>(ref packetSpan);
        IsGroupable  = format.Read <bool>(ref packetSpan);
        IsSellable   = format.Read <bool>(ref packetSpan);

        CanPlaceInMarketplace = format.Read <bool>(ref packetSpan);
        SecondsToExpiration   = format.Read <int>(ref packetSpan);

        HasRentPeriodStarted = format.Read <bool>(ref packetSpan);
        RoomId = format.Read <int>(ref packetSpan);

        if (Type == HProductType.Stuff)
        {
            SlotId = format.ReadUTF8(ref packetSpan);
            Extra  = format.Read <int>(ref packetSpan);
        }
    }