private bool CompileFinal(StackingMode mode, List <bool> bools) { bool hasTrue = false; bool defaultReturnVal = false; for (int i = 0; i < bools.Count; i++) { bool flag = bools[i]; switch (mode) { case StackingMode.Any: if (flag) { return(true); } break; case StackingMode.AnySingle: if (flag) { defaultReturnVal = true; if (hasTrue) { return(false); } hasTrue = true; } break; case StackingMode.All: if (!flag) { return(true); } break; } } return(defaultReturnVal); }
/// <summary> /// Constructor. /// </summary> /// <param name="stackingMode">StackingMode</param> public ChangeStackingModeAction(StackingMode stackingMode) { this.Action = "changeStackingMode"; this.StackingMode = stackingMode; }