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.BagCount; i++) { if (Items[(int)i] == target) { SaveData saveData = SaveData.Instance(); for (uint j = i; j < Util.BagCount - 1; j++) { saveData.Copy(Util.BagAddress + j + 1, Util.BagAddress + j, 1); } Load(); break; } } }
private void Load() { Items.Clear(); SaveData saveData = SaveData.Instance(); for (uint i = 0; i < Util.BagCount; i++) { BagItem item = new BagItem(Util.BagAddress + i * 2); item.ChangeItem += Item_ChangeItem; Items.Add(item); } }
private void ButtonBagItemChange_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; } }