Example #1
0
        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 (DB_ListBox.SelectedItem == null)
            //    return;
            if (Convert.ToInt32(AddValue.Text) == 0)
            {
                return;
            }

            string typeName = Convert.ToString(AddType.SelectedItem);

            switch (Convert.ToString(parentStackpanel.Tag))
            {
            case "ITYPE":
            {
                ITYPE type = (ITYPE)Enum.Parse(typeof(ITYPE), typeName);
                now_item.i_option[type] = Convert.ToInt32(AddValue.Text);
                break;
            }

            case "DTYPE":
            {
                DTYPE type = (DTYPE)Enum.Parse(typeof(DTYPE), typeName);
                now_item.d_option[type] = Convert.ToDouble(AddValue.Text);
                break;
            }

            case "SETYPE":
            {
                STATUS_EFFECT_TYPE type = (STATUS_EFFECT_TYPE)Enum.Parse(typeof(STATUS_EFFECT_TYPE), typeName);
                now_item.se_option[type] = Convert.ToDouble(AddValue.Text);
                break;
            }

            case "IFTYPE":
            {
                TextBox PerValue = OptionStack.Children[2] as TextBox;
                IFTYPE  type     = (IFTYPE)Enum.Parse(typeof(IFTYPE), typeName);
                now_item.if_option[type] = new AbilityPerStatus(type, Convert.ToInt32(AddValue.Text), Convert.ToInt32(PerValue.Text));
                break;
            }
            }
            SetNowItemOption();
            AddType.SelectedIndex = 0;
            AddValue.Text         = "0";
        }
Example #2
0
        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;
            }
            if (DB_ListBox.SelectedItem == null)
            {
                return;
            }

            switch (Convert.ToString(parentStackpanel.Tag))
            {
            case "ITYPE":
            {
                string typeName = (OptionList.SelectedItem as ItemOption_Binding <ITYPE, int>).Type_name;
                ITYPE  type     = (ITYPE)Enum.Parse(typeof(ITYPE), typeName);
                now_item.i_option.Remove(type);
                break;
            }

            case "DTYPE":
            {
                string typeName = (OptionList.SelectedItem as ItemOption_Binding <DTYPE, double>).Type_name;
                DTYPE  type     = (DTYPE)Enum.Parse(typeof(DTYPE), typeName);
                now_item.d_option.Remove(type);
                break;
            }

            case "SETYPE":
            {
                string             typeName = (OptionList.SelectedItem as ItemOption_Binding <STATUS_EFFECT_TYPE, double>).Type_name;
                STATUS_EFFECT_TYPE type     = (STATUS_EFFECT_TYPE)Enum.Parse(typeof(STATUS_EFFECT_TYPE), typeName);
                now_item.se_option.Remove(type);
                break;
            }

            case "IFTYPE":
            {
                string typeName = (OptionList.SelectedItem as ItemOption_Binding).Type_name;
                IFTYPE type     = (IFTYPE)Enum.Parse(typeof(IFTYPE), typeName);
                now_item.if_option.Remove(type);
                break;
            }
            }
            SetNowItemOption();
        }