private static WriteModuleAndClassRegistrationFile ( string file, HashSet |
||
file | string | |
nativeModules | HashSet |
|
nativeClasses | HashSet |
|
classesToSkip | HashSet |
|
return | void |
private static void WriteModuleAndClassRegistrationFile(string file, HashSet<string> nativeModules, HashSet<string> nativeClasses, HashSet<string> classesToSkip)
{
using (TextWriter writer = new StreamWriter(file))
{
WriteStaticallyLinkedModuleRegistration(writer, nativeModules, nativeClasses);
writer.WriteLine();
writer.WriteLine("void RegisterAllClasses()");
writer.WriteLine("{");
if (nativeClasses == null)
{
writer.WriteLine("\tvoid RegisterAllClassesGranular();");
writer.WriteLine("\tRegisterAllClassesGranular();");
}
else
{
writer.WriteLine("\t//Total: {0} classes", nativeClasses.Count);
int num = 0;
foreach (string str in nativeClasses)
{
writer.WriteLine("\t//{0}. {1}", num, str);
if (classesToSkip.Contains(str))
{
writer.WriteLine("\t//Skipping {0}", str);
}
else
{
writer.WriteLine("\tvoid RegisterClass_{0}();", str);
writer.WriteLine("\tRegisterClass_{0}();", str);
}
writer.WriteLine();
num++;
}
}
writer.WriteLine("}");
writer.Close();
}
}
CodeStrippingUtils::WriteModuleAndClassRegistrationFile ( string strippedAssemblyDir, string outputDir, |
public static void WriteModuleAndClassRegistrationFile(string strippedAssemblyDir, string icallsListFile, string outputDir, RuntimeClassRegistry rcr, IEnumerable <string> classesToSkip) { HashSet <string> nativeClasses; HashSet <string> nativeModules; CodeStrippingUtils.GenerateDependencies(strippedAssemblyDir, icallsListFile, rcr, out nativeClasses, out nativeModules); CodeStrippingUtils.WriteModuleAndClassRegistrationFile(Path.Combine(outputDir, "UnityClassRegistration.cpp"), nativeModules, nativeClasses, new HashSet <string>(classesToSkip)); }