Example #1
0
        private void AddNodeToLookup(INode node)
        {
            if (node.UntypedValue != null)
            {
#if PLATFORM_UNITY
                List <INode> list;
                if (!_lookupCache.TryGetValue(node.UntypedValue, out list))
                {
                    _lookupCache.Add(node.UntypedValue, new List <INode>());
                }

                _lookupCache[node.UntypedValue].Add(node);
#else
                var list = _lookupCache.GetOrCreateValue(node.UntypedValue);
                list.Add(node);
#endif
            }

            foreach (var child in node.Children)
            {
                AddNodeToLookup(child);
            }
        }