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) ? 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 derivedFromClassID = BaseObjectTools.StringToClassID("GlobalGameManager");
foreach (string current in modulesFromICalls)
{
int[] moduleClasses = ModuleMetadata.GetModuleClasses(current);
int[] array = moduleClasses;
for (int i = 0; i < array.Length; i++)
{
int num = array[i];
if (BaseObjectTools.IsDerivedFromClassID(num, derivedFromClassID))
{
nativeClasses.Add(BaseObjectTools.ClassIDToString(num));
}
}
}
nativeModules.UnionWith(modulesFromICalls);
}
AssemblyReferenceChecker assemblyReferenceChecker = new AssemblyReferenceChecker();
assemblyReferenceChecker.CollectReferencesFromRoots(strippedAssemblyDir, userAssemblies, true, 0f, true);
}