private static void WriteModuleAndClassRegistrationFile(string file, HashSet <string> nativeModules, HashSet <string> nativeClasses)
{
using (TextWriter textWriter = new StreamWriter(file))
{
CodeStrippingUtils.WriteStaticallyLinkedModuleRegistration(textWriter, nativeModules, nativeClasses);
textWriter.WriteLine();
textWriter.WriteLine("void RegisterAllClasses()");
textWriter.WriteLine("{");
if (nativeClasses == null)
{
textWriter.WriteLine("\tvoid RegisterAllClassesGranular();");
textWriter.WriteLine("\tRegisterAllClassesGranular();");
}
else
{
textWriter.WriteLine(string.Format("\t//Total: {0} classes", nativeClasses.Count));
int num = 0;
foreach (string current in nativeClasses)
{
textWriter.WriteLine(string.Format("\t//{0}. {1}", num, current));
if (current == "MasterServerInterface")
{
textWriter.WriteLine("\t//Skipping");
}
else
{
if (current == "NetworkManager")
{
textWriter.WriteLine("\t//Skipping");
}
else
{
textWriter.WriteLine(string.Format("\tvoid RegisterClass_{0}();", current));
textWriter.WriteLine(string.Format("\tRegisterClass_{0}();", current));
}
}
textWriter.WriteLine();
num++;
}
}
textWriter.WriteLine("}");
textWriter.Close();
}
}