private void AddGlobalsFromScript(List<string> globalsList, IScript script, Dictionary<string, object> addedNames, int onlyShowIfDefinitionBeforePos)
{
List<ScriptDefine> defines = script.AutoCompleteData.Defines;
foreach (ScriptVariable sv in script.AutoCompleteData.Variables)
{
if (!addedNames.ContainsKey(sv.VariableName))
{
if (ShouldShowThis(sv, defines))
{
globalsList.Add(sv.VariableName + "?" + IMAGE_INDEX_GLOBAL_VARIABLE);
addedNames.Add(sv.VariableName, null);
}
}
}
foreach (ScriptFunction sf in script.AutoCompleteData.Functions)
{
if (!addedNames.ContainsKey(sf.FunctionName))
{
if ((ShouldShowThis(sf, defines)) &&
(sf.StartsAtCharacterIndex < onlyShowIfDefinitionBeforePos) &&
(!sf.HideOnMainFunctionList))
{
globalsList.Add(sf.FunctionName + "?" + IMAGE_INDEX_METHOD);
addedNames.Add(sf.FunctionName, null);
}
}
}
foreach (ScriptDefine sd in script.AutoCompleteData.Defines)
{
if (ShouldShowThis(sd, defines))
{
globalsList.Add(sd.Name + "?" + IMAGE_INDEX_DEFINE);
}
}
foreach (ScriptEnum se in script.AutoCompleteData.Enums)
{
if (ShouldShowThis(se, defines))
{
AddEnumValuesToAutocompleteList(globalsList, se);
}
}
foreach (ScriptStruct ss in script.AutoCompleteData.Structs)
{
if ((ShouldShowThis(ss, defines)) && (ss.FullDefinition))
{
globalsList.Add(ss.Name + "?" + IMAGE_INDEX_STRUCT);
}
}
}