示例#1
0
 private void removeRuleButton_Click(object sender, EventArgs e)
 {
     LSystemRule.RuleRightSide rule = (LSystemRule.RuleRightSide)ruleList.SelectedItem;
     if (rule != null)
     {
         ruleList.Items.Remove(rule);
         mLSystem.RemoveRule(rule);
     }
 }
示例#2
0
 private void changeRuleButton_Click(object sender, EventArgs e)
 {
     LSystemRule.RuleRightSide rule = (LSystemRule.RuleRightSide)ruleList.SelectedItem;
     if (rule != null && ruleLeftSideCombo.Text != null && ruleLeftSideCombo.Text.Length > 0)
     {
         mLSystem.ChangeRule(rule, ruleLeftSideCombo.Text[0], (float)ruleWeight.Value, ruleRightSide.Text);
         FillRules();
     }
 }
示例#3
0
 private void ruleList_SelectedIndexChanged(object sender, EventArgs e)
 {
     LSystemRule.RuleRightSide rule = (LSystemRule.RuleRightSide)ruleList.SelectedItem;
     if (rule != null)
     {
         ruleLeftSideCombo.Text = rule.left.ToString();
         ruleWeight.Value       = (decimal)rule.weight;
         ruleRightSide.Text     = rule.rule;
     }
 }
示例#4
0
        public bool RemoveRule(LSystemRule.RuleRightSide aRightSide)
        {
            if (aRightSide == null)
            {
                return(false);
            }
            LSystemRule rule = mRules[aRightSide.left];

            if (rule == null)
            {
                return(false);
            }
            return(rule.RemoveRightSide(aRightSide));
        }
示例#5
0
        public bool RemoveRightSide(LSystemRule.RuleRightSide aRightSide)
        {
            if (aRightSide == null)
            {
                return(false);
            }
            float weight = aRightSide.weight;

            if (mRightSides.Remove(aRightSide))
            {
                mWeightSum -= weight;
                return(true);
            }
            return(false);
        }
示例#6
0
 public bool ChangeRule(LSystemRule.RuleRightSide aRightSide, char aVariable, float aWeight, string aRuleRightSide)
 {
     return(RemoveRule(aRightSide) && AddRule(aVariable, aWeight, aRuleRightSide));
 }