Beispiel #1
0
 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];
         }
     }
 }
Beispiel #2
0
        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);
        }