private void DeleteButton_Click(object sender, EventArgs e) { if (Utility.EQUIP_CATEGORY_LIST.Contains(entryItems[0].Classification)) { EquipmentBase equip = (EquipmentBase)entryItems[0]; EquipmentBase prevEquip = equip.Clone(); // 削除する List <EquipmentBase> equipList = new List <EquipmentBase>(); if (File.Exists(saveDir + userId + "_" + saveEquipFile)) { equipList = JsonConvert.DeserializeObject <List <EquipmentBase> >(File.ReadAllText(saveDir + userId + "_" + saveEquipFile)); } if (updateMode) { string itemName = prevEquip.Name; string ability = string.Join(" ", prevEquip.RefineAbility) + " " + string.Join(" ", prevEquip.SpecialAbility); equipList.Remove(equipList.Where(x => x.Name == itemName && string.Join(" ", x.RefineAbility) + " " + string.Join(" ", x.SpecialAbility) == ability).First()); } File.WriteAllText(saveDir + userId + "_" + saveEquipFile, JsonConvert.SerializeObject(equipList)); } else { if (MessageBox.Show("以下全て削除されます!", "確認", MessageBoxButtons.OKCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.OK) { string updateItemName = entryItems[0].Name; // 削除する List <Item> itemList = new List <Item>(); if (File.Exists(saveDir + userId + "_" + saveItemFile)) { itemList = JsonConvert.DeserializeObject <List <Item> >(File.ReadAllText(saveDir + userId + "_" + saveItemFile)); } if (updateMode) { itemList.RemoveAll(x => x.Name == updateItemName); } File.WriteAllText(saveDir + userId + "_" + saveItemFile, JsonConvert.SerializeObject(itemList)); } else { return; } } this.Hide(); }
private void EntryButton_Click(object sender, EventArgs e) { int index = 0; if (Utility.EQUIP_CATEGORY_LIST.Contains(entryItems[0].Classification)) { EquipmentBase equip = (EquipmentBase)entryItems[0]; EquipmentBase prevEquip = equip.Clone(); Control[] control = this.Controls.Find("nameComboBox" + index, true); equip.Name = ((ComboBox)control[0]).SelectedItem.ToString(); index++; control = this.Controls.Find("nameComboBox" + index, true); equip.Classification = ((ComboBox)control[0]).SelectedItem.ToString(); index++; control = this.Controls.Find("nameTextBox" + index, true); equip.Description = ((TextBox)control[0]).Text; index += 3; control = this.Controls.Find("itemCountNum" + index, true); equip.Refine = (int)((NumericUpDown)control[0]).Value; index++; control = this.Controls.Find("itemCountNum" + index, true); equip.RequireLevel = (int)((NumericUpDown)control[0]).Value; index += 2; for (int i = 0; i < equip.BasicAbility.Count; i++) { control = this.Controls.Find("nameComboBox" + index, true); equip.BasicAbility[i] = ((ComboBox)control[0]).SelectedItem.ToString(); index++; } for (int i = 0; i < equip.RefineAbility.Count; i++) { control = this.Controls.Find("nameComboBox" + index, true); equip.RefineAbility[i] = ((ComboBox)control[0]).SelectedItem.ToString(); index++; } for (int i = 0; i < equip.SpecialAbility.Count; i++) { control = this.Controls.Find("nameComboBox" + index, true); equip.SpecialAbility[i] = ((ComboBox)control[0]).SelectedItem.ToString(); index++; } equip.AbilityList = equip.AbilityCalc(equip.BasicAbility.Concat(equip.RefineAbility).Concat(equip.SpecialAbility).ToList()); equip.Screenshot = Utility.SerializeBitmap(new Bitmap(imageFileName)); // 登録する List <EquipmentBase> equipList = new List <EquipmentBase>(); if (File.Exists(saveDir + userId + "_" + saveEquipFile)) { equipList = JsonConvert.DeserializeObject <List <EquipmentBase> >(File.ReadAllText(saveDir + userId + "_" + saveEquipFile)); } if (updateMode) { string itemName = prevEquip.Name; string ability = string.Join(" ", prevEquip.RefineAbility) + " " + string.Join(" ", prevEquip.SpecialAbility); equipList.Remove(equipList.Where(x => x.Name == itemName && string.Join(" ", x.RefineAbility) + " " + string.Join(" ", x.SpecialAbility) == ability).First()); } equipList.Add(equip); File.WriteAllText(saveDir + userId + "_" + saveEquipFile, JsonConvert.SerializeObject(equipList)); } else { List <Item> entryItemData = new List <Item>(); string updateItemName = entryItems[0].Name; for (int i = 0; i < entryItems.Count; i++) { Control[] control = this.Controls.Find("nameComboBox" + index, true); entryItems[i].Name = ((ComboBox)control[0]).SelectedItem.ToString(); control = this.Controls.Find("itemCountNum" + index, true); entryItems[i].count = (int)((NumericUpDown)control[0]).Value; entryItemData.Add((Item)entryItems[i]); index++; } // 登録する List <Item> itemList = new List <Item>(); if (File.Exists(saveDir + userId + "_" + saveItemFile)) { itemList = JsonConvert.DeserializeObject <List <Item> >(File.ReadAllText(saveDir + userId + "_" + saveItemFile)); } if (updateMode) { itemList.RemoveAll(x => x.Name == updateItemName); } itemList.AddRange(entryItemData); File.WriteAllText(saveDir + userId + "_" + saveItemFile, JsonConvert.SerializeObject(itemList)); } this.Hide(); }