Ejemplo n.º 1
0
        public LSystemRule(char aVariable, float aWeight, string aRuleRightSide)
        {
            mLeft       = aVariable;
            mRightSides = new List <RuleRightSide>();
            RuleRightSide rightSide = new RuleRightSide();

            rightSide.weight = aWeight;
            rightSide.rule   = aRuleRightSide;
            rightSide.left   = mLeft;
            mWeightSum       = aWeight;
            mRightSides.Add(rightSide);
        }
Ejemplo n.º 2
0
        public bool AddRightSide(float aWeight, string aRuleRightSide)
        {
            RuleRightSide rightSide = new RuleRightSide();

            rightSide.weight = aWeight;
            rightSide.rule   = aRuleRightSide;
            rightSide.left   = mLeft;
            foreach (RuleRightSide r in mRightSides)
            {
                if (r.rule == aRuleRightSide)
                {
                    return(false);
                }
            }
            mWeightSum += aWeight;
            mRightSides.Add(rightSide);
            mRightSides.Sort(delegate(RuleRightSide r1, RuleRightSide r2) { return(r1.rule.CompareTo(r2.rule)); });
            return(true);
        }