Esempio n. 1
0
        private void GetValidScriptScopes(List <ScriptScope> results, bool allowTemp = true,
                                          ScopeFindType values = ScopeFindType.Object)
        {
            if (Topmost != this || allowTemp)
            {
                visited.Clear();
            }

            if (Topmost != this)
            {
                Topmost.GetValidScriptScopes(results, allowTemp, values);
                return;
            }

            if (visited.Contains(this))
            {
                return;
            }

            visited.Add(this);

            if (allowTemp)
            {
                foreach (var scriptScopesValue in scriptScopes.Values)
                {
                    if (!results.Any(a => a.Name == scriptScopesValue.Name && a.Show(values)))
                    {
                        results.Add(scriptScopesValue);
                    }
                }
            }
            else
            {
                foreach (var scriptScopesValue in scriptScopes.Values)
                {
                    if (!scriptScopesValue.Temporary &&
                        !results.Any(a => a.Name == scriptScopesValue.Name && a.Show(values)))
                    {
                        results.Add(scriptScopesValue);
                    }
                }
            }

            var Connections = ReferenceManager.Instance.GetConnectionsTo(Topmost.Name);

            foreach (var eventConnection in Connections)
            {
                eventConnection.From.GetValidScriptScopes(results, false);
            }
        }
Esempio n. 2
0
        public bool Show(ScopeFindType values)
        {
            if (values == ScopeFindType.Any)
            {
                return(true);
            }
            if (values == ScopeFindType.Object && !IsValue)
            {
                return(true);
            }
            if (values != ScopeFindType.Object && IsValue)
            {
                return(true);
            }

            return(false);
        }
Esempio n. 3
0
 public void GetValidScriptScopesInit(List <ScriptScope> results, bool allowTemp = true,
                                      ScopeFindType values = ScopeFindType.Object)
 {
     visited.Clear();
     GetValidScriptScopes(results, allowTemp, values);
 }