Example #1
0
 public void AddProperty(PropertyStrips propertyStrips)
 {
     if (!ownProperties.Contains(propertyStrips))
     {
         ownProperties.Add(propertyStrips);
     }
 }
Example #2
0
    private void Analize()
    {
        currentPlan.Clear();

        while (desiredTags.Count != 0)
        {
            foreach (OperatorStrips stripsOperator in operators)
            {
                List <string> ownedTags = new List <string>();

                foreach (PropertyStrips property in ownProperties)
                {
                    ownedTags.Add(property.GetTag());
                }

                PropertyStrips added_condition = stripsOperator.GetAddedProperty();

                if (desiredTags.Contains(added_condition.GetTag()) && !currentPlan.Contains(stripsOperator))
                {
                    currentPlan.Add(stripsOperator);

                    PropertyStrips condition = stripsOperator.GetPrecondition();

                    if (condition != null && !ownedTags.Contains(condition.GetTag()))
                    {
                        desiredTags.Add(condition.GetTag());
                    }

                    PropertyStrips added = stripsOperator.GetAddedProperty();

                    if (desiredTags.Contains(added.GetTag()))
                    {
                        desiredTags.Remove(added.GetTag());
                    }
                }
            }
        }

        currentPlan.Reverse();
    }
Example #3
0
 public OperatorStrips(PropertyStrips precondition, PropertyStrips addedProperty, string functionName)
 {
     this.precondition  = precondition;
     this.addedProperty = addedProperty;
     this.functionName  = functionName;
 }