예제 #1
0
        private void EnterChild(FuzzyOptionNode node)
        {
            if (node == null || node.hasChildren == false || node.option is FuzzySeparator)
            {
                return;
            }

            ExecuteTask(() =>
            {
                Populate(node, tree.Children(node.option));
            });

            lastRepaintTime = DateTime.UtcNow;

            query        = string.Empty;
            delayedQuery = null;
            GUIUtility.keyboardControl = 0;
            letQueryClear = true;

            if (animTarget == 0)
            {
                animTarget   = 1;
                animAncestor = null;
            }
            else if (anim == 1)
            {
                anim     = 0;
                prevAnim = 0;
                stack.Add(node);
            }
        }
예제 #2
0
        public bool EvaluateHasChildren(IFuzzyOptionTree tree)
        {
            if (!hasChildren.HasValue)
            {
                hasChildren = tree.Children(option).Any();
            }

            return(hasChildren.Value);
        }
예제 #3
0
        private void EnterChild(FuzzyOptionNode node)
        {
            if (node == null || !node.hasChildren)
            {
                return;
            }

            ExecuteTask(delegate
            {
                Populate(node, tree.Children(node.option.value));
            });

            lastRepaintTime = DateTime.Now;

            if (animTarget == 0)
            {
                animTarget = 1;
            }
            else if (anim == 1)
            {
                anim = 0;
                stack.Push(node);
            }
        }