Example #1
0
        private void LoadSlots(BinaryReader r, byte slots)
        {
            var itemSlots = (BitsByte)r.ReadByte();
            var dyeSlots  = (BitsByte)r.ReadByte();

            Items = new System.Collections.ObjectModel.ObservableCollection <TileEntityItem>(new TileEntityItem[slots]);
            Dyes  = new System.Collections.ObjectModel.ObservableCollection <TileEntityItem>(new TileEntityItem[slots]);
            for (int i = 0; i < slots; i++)
            {
                if (itemSlots[i])
                {
                    Items[i] = new TileEntityItem
                    {
                        Id        = r.ReadInt16(),
                        Prefix    = r.ReadByte(),
                        StackSize = r.ReadInt16(),
                    };
                }
            }
            for (int i = 0; i < slots; i++)
            {
                if (dyeSlots[i])
                {
                    Dyes[i] = new TileEntityItem
                    {
                        Id        = r.ReadInt16(),
                        Prefix    = r.ReadByte(),
                        StackSize = r.ReadInt16(),
                    };
                }
            }
        }
Example #2
0
        private void LoadDisplayDoll(BinaryReader r)
        {
            byte numSlots  = 8;
            var  itemSlots = (BitsByte)r.ReadByte();
            var  dyeSlots  = (BitsByte)r.ReadByte();

            Items = new System.Collections.ObjectModel.ObservableCollection <TileEntityItem>(Enumerable.Repeat(new TileEntityItem(), numSlots));
            Dyes  = new System.Collections.ObjectModel.ObservableCollection <TileEntityItem>(Enumerable.Repeat(new TileEntityItem(), numSlots));
            for (int i = 0; i < numSlots; i++)
            {
                if (itemSlots[i])
                {
                    Items[i] = new TileEntityItem
                    {
                        Id        = r.ReadInt16(),
                        Prefix    = r.ReadByte(),
                        StackSize = r.ReadInt16(),
                    };
                }
            }
            for (int i = 0; i < numSlots; i++)
            {
                if (dyeSlots[i])
                {
                    Dyes[i] = new TileEntityItem
                    {
                        Id        = r.ReadInt16(),
                        Prefix    = r.ReadByte(),
                        StackSize = r.ReadInt16(),
                    };
                }
            }
        }