UnityEditor.CodeStrippingUtils.WriteModuleAndClassRegistrationFile C# (CSharp) Method

WriteModuleAndClassRegistrationFile() private static method

private static WriteModuleAndClassRegistrationFile ( string file, HashSet nativeModules, HashSet nativeClasses, HashSet classesToSkip ) : void
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();
            }
        }

Same methods

CodeStrippingUtils::WriteModuleAndClassRegistrationFile ( string strippedAssemblyDir, string outputDir, RuntimeClassRegistry rcr, IEnumerable classesToSkip ) : void

Usage Example

示例#1
0
        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));
        }
All Usage Examples Of UnityEditor.CodeStrippingUtils::WriteModuleAndClassRegistrationFile