public static DestinyItemArrangement Load(BinaryReader reader)
    {
        var arrangement = new DestinyItemArrangement();

        // read bobs
        int bobCount = reader.ReadInt32();

        arrangement.Bobs = Enumerable.Range(0, bobCount)
                           .Select(i => DestinyItemBob.Load(reader)).ToList();

        // read arrangement ID
        arrangement.Id = reader.ReadString();

        // read textures
        int plateSetCount = reader.ReadInt32();

        if (plateSetCount > 0)
        {
            arrangement.DiffuseTexture   = reader.ReadBytes(reader.ReadInt32());
            arrangement.NormalTexture    = reader.ReadBytes(reader.ReadInt32());
            arrangement.GearstackTexture = reader.ReadBytes(reader.ReadInt32());
        }

        return(arrangement);
    }
Example #2
0
    public static DestinyItem Load(BinaryReader reader)
    {
        int arrangementCount = reader.ReadInt32();

        return(new DestinyItem
        {
            Arrangements = Enumerable.Range(0, arrangementCount)
                           .Select(i => DestinyItemArrangement.Load(reader)).ToList()
        });
    }