示例#1
0
        public static bool enter_Inspect_AsList(this IPEGI_ListInspect var, ref int enteredOne, int thisOne, string exitLabel = null)
        {
            var changed = false;

            var outside = enteredOne == -1;

            if (!var.IsNullOrDestroyed_Obj())
            {
                if (outside)
                {
                    var.InspectInList(null, thisOne, ref enteredOne).changes(ref changed);
                }
                else if (enteredOne == thisOne)
                {
                    if (exitLabel.IsNullOrEmpty())
                    {
                        exitLabel = var.GetNameForInspector();
                    }

                    if (icon.Exit.ClickUnFocus("{0} L {1}".F(icon.Exit.GetText(), var)) ||
                        exitLabel.ClickLabel(icon.Exit.GetDescription(), style: PEGI_Styles.ExitLabel))
                    {
                        enteredOne = -1;
                    }
                    Try_Nested_Inspect(var).changes(ref changed);
                }
            }
            else if (enteredOne == thisOne)
            {
                enteredOne = -1;
            }


            ef.isFoldedOutOrEntered = enteredOne == thisOne;

            return(changed);
        }