Exemple #1
0
        public static Condition onAddCompareValue(MemberData member)
        {
            MethodValidation cond = new MethodValidation();

            cond.target.target = member;
            MemberDataUtility.UpdateMultipurposeMember(cond.target);
            return(cond);
        }
Exemple #2
0
 public static List <EventActionData> GetConditionBlockFromNode(Node node)
 {
     if (node is NodeSetValue)
     {
         var source = node as NodeSetValue;
         var action = new SetValue();
         action.target = new MemberData(source.target);
         action.value  = new MemberData(source.value);
         return(new List <EventActionData>()
         {
             action
         });
     }
     else if (node is MultipurposeNode)
     {
         var source = node as MultipurposeNode;
         if (source.CanGetValue() && source.ReturnType() == typeof(bool))
         {
             var action = new MethodValidation();
             action.target = new MultipurposeMember(source.target);
             return(new List <EventActionData>()
             {
                 action
             });
         }
     }
     else if (node is Nodes.ComparisonNode)
     {
         var source = node as Nodes.ComparisonNode;
         var action = new ObjectCompare();
         action.targetA      = new MultipurposeMember(source.targetA);
         action.targetB      = new MultipurposeMember(source.targetB);
         action.operatorType = source.operatorType;
         return(new List <EventActionData>()
         {
             action
         });
     }
     else if (node is Nodes.MultiANDNode)
     {
         var source = node as Nodes.MultiANDNode;
         var result = new List <EventActionData>();
         foreach (var target in source.targets)
         {
             var action = new EqualityCompare();
             action.target = new MultipurposeMember(target);
             action.value  = new MemberData(true);
             result.Add(action);
         }
         return(result);
     }
     else if (node is Nodes.MultiORNode)
     {
         var source = node as Nodes.MultiORNode;
         var result = new List <EventActionData>();
         foreach (var target in source.targets)
         {
             if (result.Count > 0)
             {
                 result.Add(EventActionData.OrEvent);
             }
             var action = new EqualityCompare();
             action.target = new MultipurposeMember(target);
             action.value  = new MemberData(true);
             result.Add(action);
         }
         return(result);
     }
     else if (node is Nodes.NotNode)
     {
         var source = node as Nodes.NotNode;
         var action = new EqualityCompare();
         action.target = new MultipurposeMember(source.target);
         MemberDataUtility.UpdateMultipurposeMember(action.target);
         action.value = new MemberData(false);
         return(new List <EventActionData>()
         {
             action
         });
     }
     return(new List <EventActionData>());
 }