public void AddProperty(PropertyStrips propertyStrips) { if (!ownProperties.Contains(propertyStrips)) { ownProperties.Add(propertyStrips); } }
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(); }
public OperatorStrips(PropertyStrips precondition, PropertyStrips addedProperty, string functionName) { this.precondition = precondition; this.addedProperty = addedProperty; this.functionName = functionName; }