Beispiel #1
0
        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);
    }
Beispiel #3
0
 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);
 }