public List<IPrimitiveConditionData> GenerateRules(List<TouchPoint2> points) { List<IPrimitiveConditionData> shapes = new List<IPrimitiveConditionData>(); TouchShape shape = new TouchShape(); ValidSetOfTouchPoints valids; bool singlePoint = false; foreach (TouchPoint2 point in points) { if (!point.isFinger) { shapes.Add(null); continue; } singlePoint = TrigonometricCalculationHelper.isASinglePoint(point); if (singlePoint) { shapes.Add(null); continue; } // A point can't be a closed loop valids = ValidateCircle(point); if ((valids != null) && (valids.Count > 0)) { shape.Values = CIRCLE; shapes.Add(shape); continue; } valids = ValidateBox(point); if ((valids != null) && (valids.Count > 0)) { shape.Values = BOX; shapes.Add(shape); continue; } valids = ValidateCheck(point); if ((valids != null) && (valids.Count > 0)) { shape.Values = CHECK; shapes.Add(shape); continue; } valids = ValidateLine(point); if ((valids != null) && (valids.Count > 0)) { shape.Values = LINE; shapes.Add(shape); continue; } } return shapes; }
public void Init(Objects.IPrimitiveConditionData ruleData) { _data = ruleData as TouchShape; }