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(), }; } } }
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(), }; } } }