public static OperatorGroup BuildOperatorGroup(string mappedKey, IFilter filter) { switch (filter.Op) { case FilterOperator.In: return(OperatorGroup.Build(mappedKey, filter.ValueList, OperatorTestType.Eq)); //Need to handle string to lower case FilterOperator.Nin: return(OperatorGroup.Build(mappedKey, filter.ValueList, OperatorTestType.Neq, OperatorTestOption.None, BinaryOperatorType.And)); case FilterOperator.Gt: return(OperatorGroup.Build(mappedKey, filter.Value, OperatorTestType.Gt)); case FilterOperator.Lt: return(OperatorGroup.Build(mappedKey, filter.Value, OperatorTestType.Lt)); case FilterOperator.Ge: return(OperatorGroup.Build(mappedKey, filter.Value, OperatorTestType.Ge)); case FilterOperator.Le: return(OperatorGroup.Build(mappedKey, filter.Value, OperatorTestType.Le)); case FilterOperator.Eq: return(OperatorGroup.Build(mappedKey, filter.Value, OperatorTestType.Eq)); case FilterOperator.Neq: return(OperatorGroup.Build(mappedKey, filter.Value, OperatorTestType.Neq)); case FilterOperator.Inc: return(OperatorGroup.Build(mappedKey, filter.Value, OperatorTestType.Inc)); case FilterOperator.Ninc: return(OperatorGroup.Build(mappedKey, filter.Value, OperatorTestType.Ninc)); case FilterOperator.Sw: return(OperatorGroup.Build(mappedKey, filter.Value, OperatorTestType.Sw)); case FilterOperator.Ew: return(OperatorGroup.Build(mappedKey, filter.Value, OperatorTestType.Ew)); default: throw new ArgumentOutOfRangeException(); } }
void Start() { OperatorGroup operatorGroup; objects = GameObject.FindGameObjectsWithTag("Operator"); Debug.Log(objects); num = objects.Length; groups = new List <OperatorGroup>(); typeNames = new List <string>(); curGroupIdx = 0; operatorGroup = new OperatorGroup(num); operatorGroup.RegisterOperator(new string[] { "+", "-", "*", "/", "%", "**" }); AddOperatorGroup("arithmetic", operatorGroup); operatorGroup = new OperatorGroup(num); operatorGroup.RegisterOperator(new string[] { "==", "!=", "<", "<=", ">", ">=" }); AddOperatorGroup("comparison", operatorGroup); }
public FilterGroup(OperatorGroup group) { Group = group; Operators = new List <FilterOperator>(); Groups = new List <FilterGroup>(); }
public void AddOperatorGroup(string name, OperatorGroup group) { groups.Add(group); typeNames.Add(name); }