private void Add_Option_Click(object sender, RoutedEventArgs e) { StackPanel parentStackpanel = ((sender as Button).Parent as StackPanel).Parent as StackPanel; StackPanel OptionStack = parentStackpanel.Children[0] as StackPanel; ComboBox AddType = OptionStack.Children[0] as ComboBox; TextBox AddValue = OptionStack.Children[1] as TextBox; if (AddValue.Text == "") { return; } if (Convert.ToInt32(AddValue.Text) == 0) { return; } string type_name = AddType.SelectedItem.ToString(); double add_value = Convert.ToDouble(AddValue.Text); ITEM_OPTION_TYPE type = EnumItemOptionTable_Kor.GET_ITEM_OPTION_TYPE(ref type_name); Dictionary <string, double> item_option = GetItemOptionDictionary(type); item_option[type_name] = add_value; SetNowItemOption(); AddType.SelectedIndex = 0; AddValue.Text = null; }
private void Refine_Del_Option_Click(object sender, RoutedEventArgs e) { StackPanel parentStackpanel = ((sender as Button).Parent as StackPanel).Parent as StackPanel; ListBox OptionList = parentStackpanel.Children[2] as ListBox; if (OptionList.SelectedItem == null) { return; } int refine = (OptionList.SelectedItem as ItemOption_Refine_Binding).Refine; string type_name = (OptionList.SelectedItem as ItemOption_Refine_Binding).Type_name; ITEM_OPTION_TYPE type = EnumItemOptionTable.GET_ITEM_OPTION_TYPE(type_name); now_item.Option_Refine[refine][type].Remove(type_name); SetNowItemOption(); }
private void Del_Option_Click(object sender, RoutedEventArgs e) { StackPanel parentStackpanel = ((sender as Button).Parent as StackPanel).Parent as StackPanel; ListBox OptionList = parentStackpanel.Children[2] as ListBox; if (OptionList.SelectedItem == null) { return; } string type_name = (OptionList.SelectedItem as ItemOption_Binding).Type_name; ITEM_OPTION_TYPE type = EnumItemOptionTable.GET_ITEM_OPTION_TYPE(type_name); Dictionary <string, double> item_option = GetItemOptionDictionary(type); item_option.Remove(type_name); SetNowItemOption(); }
private void Refine_Add_Option_Click(object sender, RoutedEventArgs e) { StackPanel parentStackpanel = ((sender as Button).Parent as StackPanel).Parent as StackPanel; StackPanel OptionStack = parentStackpanel.Children[0] as StackPanel; ComboBox Refine = OptionStack.Children[0] as ComboBox; ComboBox AddType = OptionStack.Children[2] as ComboBox; TextBox AddValue = OptionStack.Children[3] as TextBox; if (AddValue.Text == "") { return; } if (Convert.ToInt32(AddValue.Text) == 0) { return; } int refine = Refine.SelectedIndex; string type_name = AddType.SelectedItem.ToString(); double add_value = Convert.ToDouble(AddValue.Text); ITEM_OPTION_TYPE type = EnumItemOptionTable_Kor.GET_ITEM_OPTION_TYPE(ref type_name); if (now_item.Option_Refine.ContainsKey(refine) == false) { now_item.Option_Refine.Add(refine, new Dictionary <ITEM_OPTION_TYPE, Dictionary <string, double> >()); } if (now_item.Option_Refine[refine].ContainsKey(type) == false) { now_item.Option_Refine[refine].Add(type, new Dictionary <string, double>()); } now_item.Option_Refine[refine][type][type_name] = add_value; SetNowItemOption(); AddType.SelectedIndex = 0; AddValue.Text = null; }
Dictionary <string, double> GetItemOptionDictionary(ITEM_OPTION_TYPE item_option_type) { switch (item_option_type) { case ITEM_OPTION_TYPE.ITYPE: { return(now_item.Option_ITYPE); } case ITEM_OPTION_TYPE.DTYPE: { return(now_item.Option_DTYPE); } case ITEM_OPTION_TYPE.SE_ATK_RATE_TYPE: { return(now_item.Option_SE_ATK_RATE_TYPE); } case ITEM_OPTION_TYPE.SE_REG_RATE_TYPE: { return(now_item.Option_SE_REG_RATE_TYPE); } case ITEM_OPTION_TYPE.ELEMENT_DMG_TYPE: { return(now_item.Option_ELEMENT_DMG_TYPE); } case ITEM_OPTION_TYPE.ELEMENT_REG_TYPE: { return(now_item.Option_ELEMENT_REG_TYPE); } case ITEM_OPTION_TYPE.MONSTER_ELEMENT_DMG_TYPE: { return(now_item.Option_MONSTER_ELEMENT_DMG_TYPE); } case ITEM_OPTION_TYPE.MONSTER_SIZE_DMG_TYPE: { return(now_item.Option_MONSTER_SIZE_DMG_TYPE); } case ITEM_OPTION_TYPE.MONSTER_SIZE_REG_TYPE: { return(now_item.Option_MONSTER_SIZE_REG_TYPE); } case ITEM_OPTION_TYPE.TRIBE_DMG_TYPE: { return(now_item.Option_TRIBE_DMG_TYPE); } case ITEM_OPTION_TYPE.TRIBE_REG_TYPE: { return(now_item.Option_TRIBE_REG_TYPE); } case ITEM_OPTION_TYPE.MONSTER_KINDS_DMG_TYPE: { return(now_item.Option_MONSTER_KINDS_DMG_TYPE); } case ITEM_OPTION_TYPE.MONSTER_KINDS_REG_TYPE: { return(now_item.Option_MONSTER_KINDS_REG_TYPE); } case ITEM_OPTION_TYPE.ETC_DMG_TYPE: { return(now_item.Option_ETC_DMG_TYPE); } case ITEM_OPTION_TYPE.ETC_TYPE: { return(now_item.Option_ETC_TYPE); } default: MessageBox.Show("선언되지 않은 case가 존재합니다"); break; } return(null); }