示例#1
0
        private static void GenerateCode()
        {
            generator.GenerateCodeFile(FilePath, generator.GetOutputPath(), content =>
            {
                WrappedInt indentCount = 0;

                // NOTE: indentCount is automatically increamented or decreamented by
                // ContentWriter methods

                // An indent is added when a new CurlyBrackets IDisposable instance is created
                // and removed everytime that IDisposable instance is disposed of
                // (when the control has excited from the using statement)

                content.WriteIndentedLine(indentCount, generator.GetHeaderText(instance.GetScriptName()));
                content.WriteImports("UnityEngine");

                using (new CurlyBrackets(content, ConstantGenerator.OutputFileNamespace, indentCount))
                {
                    using (new CurlyBrackets(content, "public static class " + FileName, indentCount))
                    {
                        foreach (ConstGenSettings.ParamsCTRLR ctrlr in instance.newParameters)
                        {
                            // write animator owner header group of the parameters
                            content.WriteIndentedFormatLine(indentCount, "public static class {0}", generator.MakeIdentifier(ctrlr.name));
                            using (new CurlyBrackets(content, indentCount))
                            {
                                // write parameters
                                foreach (string parameters in ctrlr.parameters)
                                {
                                    content.WriteIndentedFormatLine(indentCount,
                                                                    "public const string {0} = \"{1}\";",
                                                                    generator.MakeIdentifier(parameters),
                                                                    generator.EscapeDoubleQuote(parameters));
                                }
                            }
                            content.WriteNewLine();
                        }
                    }
                }
            });
        }