public static void Write(Dictionary <int, BlockTexItem> items, ref byte[] data) { foreach (KeyValuePair <int, BlockTexItem> pair in items) { BlockTexItem item = pair.Value; int baseOffset = item.Offset; for (int i = 0; i < 16; i++) { data[baseOffset + i] = item.Bytes[i]; } } }
public static Dictionary <int, BlockTexItem> Fill(ListView listView, ref byte[] data, ref Color[] lineColors, ref Color[] pointColors) { listView.Items.Clear(); Dictionary <int, BlockTexItem> items = new Dictionary <int, BlockTexItem>(); for (int i = 0; i < 1024; i++) { int baseOffset = 124636 + i * 16; if (data[baseOffset] == 0) { continue; } BlockTexItem item = new BlockTexItem(i, baseOffset, data.SubArray(baseOffset, 16)); string[] captions = item.ToStringArray(); ListViewItem listItem = new ListViewItem(captions); listItem.Tag = item; listItem.UseItemStyleForSubItems = false; item.ListItem = listItem; int j = 0; foreach (string caption in captions) { if (j > 0 && j < 7) { listItem.SubItems[j].BackColor = Color.LightSeaGreen; } j++; } listView.Items.Add(listItem); items.Add(i, item); } return(items); }