private void Item_ChangeItem(object sender, EventArgs e) { BagItem target = sender as BagItem; if (target == null) { return; } if (target.ID != 0) { return; } for (uint i = 0; i < Util.ItemCount; i++) { if (Items[(int)i] == target) { SaveData saveData = SaveData.Instance(); for (uint j = i; j < Util.ItemCount - 1; j++) { saveData.Copy(Util.ItemAddress + (j + 1) * 4, Util.ItemAddress + j * 4, 4); } Load(); break; } } }
private void Load() { Items.Clear(); SaveData saveData = SaveData.Instance(); for (uint i = 0; i < Util.ItemCount; i++) { BagItem item = new BagItem(Util.ItemAddress + i * 4); item.ChangeItem += Item_ChangeItem; Items.Add(item); } }
private void ButtonItemChange_Click(object sender, RoutedEventArgs e) { BagItem item = (sender as Button)?.DataContext as BagItem; if (item == null) { return; } ItemSelectWindow dlg = new ItemSelectWindow(); dlg.ID = item.ID; dlg.ShowDialog(); item.ID = dlg.ID; if (item.ID != 0) { item.Count = 1; } }