public static void GenerateDependencies(string strippedAssemblyDir, string icallsListFile, RuntimeClassRegistry rcr, out HashSet <string> nativeClasses, out HashSet <string> nativeModules)
{
string[] userAssemblies = CodeStrippingUtils.GetUserAssemblies(strippedAssemblyDir);
nativeClasses = !PlayerSettings.stripEngineCode ? (HashSet <string>)null : CodeStrippingUtils.GenerateNativeClassList(rcr, strippedAssemblyDir, userAssemblies);
if (nativeClasses != null)
{
CodeStrippingUtils.ExcludeModuleManagers(ref nativeClasses);
}
nativeModules = CodeStrippingUtils.GetNativeModulesToRegister(nativeClasses);
if (nativeClasses != null && icallsListFile != null)
{
HashSet <string> modulesFromIcalls = CodeStrippingUtils.GetModulesFromICalls(icallsListFile);
int classId = BaseObjectTools.StringToClassID("GlobalGameManager");
using (HashSet <string> .Enumerator enumerator = modulesFromIcalls.GetEnumerator())
{
while (enumerator.MoveNext())
{
foreach (int moduleClass in ModuleMetadata.GetModuleClasses(enumerator.Current))
{
if (BaseObjectTools.IsDerivedFromClassID(moduleClass, classId))
{
nativeClasses.Add(BaseObjectTools.ClassIDToString(moduleClass));
}
}
}
}
nativeModules.UnionWith((IEnumerable <string>)modulesFromIcalls);
}
new AssemblyReferenceChecker().CollectReferencesFromRoots(strippedAssemblyDir, (IEnumerable <string>)userAssemblies, true, 0.0f, true);
}