public IfElseLogic MakeDeepCopy()
        {
            String      copyString = this.Serialize();
            IfElseLogic ret        = Deserialize(copyString);

            return(ret);
        }
        public void Setup(Logic l)
        {
            _data = (IfElseLogic)l;
            if (_data.display != null && _data.display != this)
            {
                _data.display.Close();
            }
            _data.display             = this;
            richTextBoxVariables.Text = "Variables:\n";
            foreach (object[] oarr in _data.variables)
            {
                richTextBoxVariables.Text += oarr[0] + "   " + oarr[1].ToString() + "\n";
            }

            richTextBoxVariables.Text += "\nVariables From Parent:\n";
            if (_data.parent != null)
            {
                Dictionary <String, Object[]> forDisplay = _data.parent.GetVariables();
                foreach (String s in forDisplay.Keys)
                {
                    richTextBoxVariables.Text += forDisplay[s][0] + "\t\t" + forDisplay[s][1].ToString() + "\n";
                }
            }

            EnchantmentUtilities.FillComboboxWithVariableNames(comboBoxVariables, _data);

            comboBoxConditions.DataSource = EnchantmentUtilities.getCalculableTypes();
            comboBoxResults.DataSource    = EnchantmentUtilities.getTriggerableTypes(checkBoxPremades.Checked);
            EnchantmentUtilities.FillComboboxWithNames(comboBoxCurrentConditions, _data.conditions);
            EnchantmentUtilities.FillComboboxWithNames(comboBoxIfResults, _data.ifResults);
            EnchantmentUtilities.FillComboboxWithNames(comboBoxElseResults, _data.elseResults);
            comboBoxCurrentConditions.Text          = "";
            comboBoxElseResults.Text                = "";
            comboBoxIfResults.Text                  = "";
            comboBoxCurrentConditions.SelectedIndex = comboBoxCurrentConditions.Items.Count - 1;
            comboBoxElseResults.SelectedIndex       = comboBoxElseResults.Items.Count - 1;
            comboBoxIfResults.SelectedIndex         = comboBoxIfResults.Items.Count - 1;
            textBoxLogicName.TextChanged           -= textBoxLogicName_TextChanged;
            textBoxLogicName.Text         = _data.name;
            textBoxLogicName.TextChanged += textBoxLogicName_TextChanged;
        }