Esempio n. 1
0
            void Walk(string loc, string expr, object value, string path, WalkCallback callback)
            {
                if (_system.IsPrimitive(value))
                {
                    return;
                }

                if (_system.IsArray(value))
                {
                    var list = (IList)value;
                    for (int i = 0; i < list.Count; i++)
                    {
                        callback?.Invoke(i, loc, expr, value, path);
                    }
                }
                else
                {
                    if (_system.IsObject(value))
                    {
                        foreach (string key in _system.GetMembers(value))
                        {
                            callback?.Invoke(key, loc, expr, value, path);
                        }
                    }
                }
            }
Esempio n. 2
0
 void Walk(List <GameObject> _roots, WalkCallback _fn)
 {
     for (int i = 0; i < _roots.Count; ++i)
     {
         GameObject gameObject = _roots[i];
         RecurseNode(gameObject, _fn);
     }
 }
Esempio n. 3
0
        void RecurseNode(GameObject _go, WalkCallback _fn, bool excludeSelf = false)
        {
            if (!excludeSelf)
            {
                bool walkChildren = _fn(_go);
                if (!walkChildren)
                {
                    return;
                }
            }

            foreach (Transform child in _go.transform)
            {
                RecurseNode(child.gameObject, _fn);
            }
        }
Esempio n. 4
0
        public static bool Walk(string node, WalkCallback cb)
        {
            if (Directory.Exists(node))
            {
                List <string> subNodes = new List <string>();
                subNodes.AddRange(Directory.GetFiles(node, "*.*", SearchOption.TopDirectoryOnly));
                subNodes.AddRange(Directory.GetDirectories(node, "*", SearchOption.TopDirectoryOnly));

                if (subNodes.Count == 0)
                {
                    return(cb(node, null, WalkReportType.Root));
                }
                else
                {
                    foreach (string subNode in subNodes)
                    {
                        if (cb(node, subNode, WalkReportType.ForwardsWalk))
                        {
                            return(true);
                        }
                        if (Walk(subNode, cb))
                        {
                            return(true);
                        }
                        if (cb(node, subNode, WalkReportType.BackwardsWalk))
                        {
                            return(true);
                        }
                    }

                    return(false);
                }
            }
            else if (File.Exists(node))
            {
                return(cb(node, null, WalkReportType.Root));
            }
            else
            {
                return(false);
            }
        }
Esempio n. 5
0
            void Walk(string loc, string expr, object value, string path, WalkCallback callback)
            {
                if (_system.IsPrimitive(value))
                {
                    return;
                }

                if (_system.IsArray(value))
                {
                    var list = (IList)value;
                    for (var i = list.Count - 1; i >= 0; i--)
                    {
                        callback(i, loc, expr, value, path);
                    }
                }
                else if (_system.IsObject(value))
                {
                    foreach (var key in _system.GetMembers(value).Reverse())
                    {
                        callback(key, loc, expr, value, path);
                    }
                }
            }
Esempio n. 6
0
 public static extern int AcpiGetDevices(string HID, WalkCallback UserFunction, void *UserContext, void **ReturnValue);
Esempio n. 7
0
            private void Walk(string loc, string expr, object value, string path, WalkCallback callback)
            {
                if (system.IsPrimitive(value))
                    return;

                if (system.IsArray(value))
                {
                    IList list = (IList)value;
                    for (int i = 0; i < list.Count; i++)
                        callback(i, loc, expr, value, path);
                }
                else if (system.IsObject(value))
                {
                    foreach (string key in system.GetMembers(value))
                        callback(key, loc, expr, value, path);
                }
            }