public static bool enter_Inspect(this icon ico, string txt, IPEGI var, ref int enteredOne, int thisOne, bool showLabelIfTrue = true) { var changed = false; var il = IndentLevel; ico.enter(txt.TryAddCount(var), ref enteredOne, thisOne, showLabelIfTrue).nl_ifNotEntered();//) IndentLevel = il; return((ef.isFoldedOutOrEntered && var.Nested_Inspect()) || changed); }
public static bool conditional_enter(this icon ico, string label, bool canEnter, ref int enteredOne, int thisOne, bool showLabelIfTrue = true, PEGI_Styles.PegiGuiStyle enterLabelStyle = null) { if (!canEnter && enteredOne == thisOne) { enteredOne = -1; } if (canEnter) { ico.enter(label, ref enteredOne, thisOne, showLabelIfTrue, enterLabelStyle); } else { ef.isFoldedOutOrEntered = false; } return(ef.isFoldedOutOrEntered); }
public static bool conditional_enter(this icon ico, bool canEnter, ref int enteredOne, int thisOne, string exitLabel = "") { if (!canEnter && enteredOne == thisOne) { enteredOne = -1; } if (canEnter) { ico.enter(ref enteredOne, thisOne); if (enteredOne == thisOne && !exitLabel.IsNullOrEmpty() && exitLabel.ClickLabel(icon.Exit.GetDescription(), style: PEGI_Styles.ExitLabel)) { enteredOne = -1; } } else { ef.isFoldedOutOrEntered = false; } return(ef.isFoldedOutOrEntered); }
public static bool enter <T>(this icon ico, ref int enteredOne, T currentEnum) where T : struct => ico.enter(ref enteredOne, Convert.ToInt32(currentEnum), currentEnum.ToString());