public ControlState(string label, IFlagTest test, UInt64 requireEdge, bool constantTrigger) { Label = label; Test = test; State = false; Edge = false; RequireEdge = requireEdge; ConstantTrigger = constantTrigger; LastFlags = 0; LastTrigTime = -1; }
private static CompoundTest BinaryBoolOperator(CompoundTest a, IFlagTest b, BooleanOp op) { IFlagTest[] tests; if (a.mode == op && b is CompoundTest bc) { tests = new IFlagTest[bc.tests.Length + 1]; a.tests.CopyTo(tests, 0); tests[tests.Length - 1] = b; } else { tests = new IFlagTest[] { a, b }; } return(new CompoundTest(tests, op)); }
public static CompoundTest operator&(MaskTest a, IFlagTest b) { var tests = new IFlagTest[] { a, b }; return(new CompoundTest(tests, BooleanOp.And)); }
private static IFlagTest FlagTestToComplement(IFlagTest test) { return(test.Complement); }