コード例 #1
0
        public string GenerateClass(string className)
        {
            var fileBuilder = new FileDeclaration.Builder()
                              .AddUsingDeclaration <RToolSortingLayer>();
            var classBuilder = new ClassDeclaration.Builder(className)
                               .IsStatic(true)
                               .SetAccessModifer(AccessModifier.PUBLIC);

            foreach (UnitySortingLayer sortingLayer in UnitySortingLayer.layers)
            {
                string propertyName  = PropertyUtil.CleanName(sortingLayer.name);
                string propertyValue = GetValueString(sortingLayer);

                var propertyBuilder =
                    PropertyDeclaration.GetBuilder <RToolSortingLayer>(propertyName)
                    .SetAccessModifier(AccessModifier.PUBLIC)
                    .IsStatic(true)
                    .SetValue(propertyValue);

                classBuilder.AddProperty(propertyBuilder.Build());
            }

            fileBuilder.SetClass(classBuilder.Build());
            return(CSharpGenerator.GenerateFile(fileBuilder.Build()));
        }