private void WriteTree(ResourceNode node) { ResourceFolder asFolder = node as ResourceFolder; ResourceItem asItem = node as ResourceItem; if (asFolder != null) { Write("public class "); WriteLine(asFolder.name); WriteLine("{"); PushIndent(indent); for (int i = 0; i < asFolder.children.Count; i++) { WriteTree(asFolder.children[i]); } PopIndent(); WriteLine("}"); WriteLine(string.Empty); } else if (asItem != null) { Write("public const string "); Write(NamingUtility.ToVariableName(asItem.name)); Write(" = \""); Write(asItem.name + asItem.extension); WriteLine("\";"); } }
/// <summary> /// Invoked when the enum should be defined by this widget. /// </summary> public override void WriteEnumContent() { if (!m_CreateEnum) { return; } this.Write("/// <summary>\r\n/// An enum that contains the names of every tag that\r\n/// is defi" + "ned in the project.\r\n/// </summary>\r\n"); Write("public enum "); WriteLine(m_EnumName); WriteLine("{"); PushIndent(indent); for (int i = 0; i < m_Tags.Length; i++) { Write(NamingUtility.ToVariableName(m_Tags[i])); if (i < m_Tags.Length - 1) { WriteLine(","); } else { WriteLine(string.Empty); } } PopIndent(); WriteLine("}"); WriteLine(string.Empty); }
/// <summary> /// This class contains all our GUI Content labels that we use in Script Forge /// </summary> public override void WriteClassContent() { // Const elements for (int i = 0; i < m_Scenes.Length; i++) { Write("public const string "); Write(NamingUtility.ToVariableName(m_Scenes[i])); Write(" = \""); Write(m_Scenes[i]); WriteLine("\";"); } // Space WriteLine(""); // Array WriteLine("// An array containing all the names of our scenes."); WriteLine("private static string[] m_Names = new string[]"); WriteLine("{"); PushIndent(indent); { for (int i = 0; i < m_Scenes.Length; i++) { Write("\""); Write(NamingUtility.ToVariableName(m_Scenes[i])); WriteLine("\","); } } PopIndent(); WriteLine("};"); }
/// <summary> /// This class contains all our GUI Content labels that we use in Script Forge /// </summary> public override void WriteClassContent() { for (int i = 0; i < m_Tags.Length; i++) { Write("public const string "); Write(NamingUtility.ToVariableName(m_Tags[i])); Write(" = \""); Write(m_Tags[i]); WriteLine("\";"); } }
/// <summary> /// This class contains all our GUI Content labels that we use in Script Forge /// </summary> public override void WriteClassContent() { for (int i = 0; i < m_SortingLayers.Length; i++) { if (!string.IsNullOrEmpty(m_SortingLayers[i])) { Write("public const string "); Write(NamingUtility.ToVariableName(m_SortingLayers[i])); Write(" = \""); Write(m_SortingLayers[i]); WriteLine("\";"); } } }
/// <summary> /// This class contains all our GUI Content labels that we use in Script Forge /// </summary> public override void WriteClassContent() { WriteLine("public static class Int"); WriteLine("{"); PushIndent(indent); { for (int i = 0; i < m_Layers.Length; i++) { if (!string.IsNullOrEmpty(m_Layers[i])) { Write("public const int "); Write(NamingUtility.ToVariableName(m_Layers[i])); Write(" = "); Write(i.ToString()); WriteLine(";"); } } } PopIndent(); WriteLine("}"); if (m_CreateBitwise) { WriteLine("public static class Bit"); WriteLine("{"); PushIndent(indent); { for (int i = 0; i < m_Layers.Length; i++) { if (!string.IsNullOrEmpty(m_Layers[i])) { Write("public const int "); Write(m_Layers[i]); Write(" = 1 << "); Write(i.ToString()); WriteLine(";"); } } } PopIndent(); WriteLine("}"); } }
/// <summary> /// Invoked when the enum should be defined by this widget. /// </summary> public override void WriteEnumContent() { if (!m_CreateEnum) { return; } this.Write("/// <summary>\r\n/// An enum that contains the names of every scene that\r\n/// is in" + " your project.\r\n/// </summary>\r\n"); Write("public enum "); WriteLine(m_EnumName); WriteLine("{"); PushIndent(indent); for (int i = 0; i < m_SortingLayers.Length; i++) { if (!string.IsNullOrEmpty(m_SortingLayers[i])) { Write(NamingUtility.ToVariableName(m_SortingLayers[i])); Write(" = "); Write(i.ToString()); if (i < m_SortingLayers.Length - 1) { WriteLine(","); } else { WriteLine(string.Empty); } } } PopIndent(); WriteLine("}"); WriteLine(string.Empty); }
public bool IsLegalASCIIIdentifier(string value) { return(NamingUtility.IsLegalASCIIIdentifier(value)); }
public bool IsLegalASCIIIdentifierCharacter(char c) { return(NamingUtility.IsLegalASCIIIdentifierCharacter(c)); }
/// <summary> /// This class contains all our GUI Content labels that we use in Script Forge /// </summary> public override void WriteClassContent() { foreach (var controllerClass in m_AnimatorControllerMap) { PushIndent(indent); { Write("public static class "); WriteLine(controllerClass.Key); WriteLine("{"); PushIndent(indent); { // Clip Names if (m_GenerateClipNames) { WriteLine("public static class Clips"); WriteLine("{"); PushIndent(indent); { // Constants foreach (AnimatorController controller in controllerClass.Value) { foreach (AnimationClip animationClip in controller.animationClips) { WriteLine("/// <summary>"); Write("/// Length: "); Write(animationClip.length.ToString("0.00")); WriteLine(" Seconds"); WriteLine("/// </summary>"); Write("public static readonly int "); Write(NamingUtility.ToVariableName(animationClip.name)); WriteLine(";"); } } this.Write("\r\n/// <summary>\r\n/// Initializes all our Animations Clips with their hash the\r\n//" + "/ first time this class is referenced.\r\n/// </summary>\r\n"); WriteLine("static Clips()"); WriteLine("{"); PushIndent(indent); { // Initialize Animation Hashes. if (m_GenerateClipNames) { foreach (AnimatorController controller in controllerClass.Value) { foreach (AnimationClip animationClip in controller.animationClips) { Write(NamingUtility.ToVariableName(animationClip.name)); Write(" = "); Write("Animator.StringToHash(\""); Write(animationClip.name); WriteLine("\");"); } } } } PopIndent(); WriteLine("}"); } PopIndent(); WriteLine("}"); WriteLine(""); } // Layer Names if (m_GenerateLayerNames) { WriteLine("public static class Layers"); WriteLine("{"); PushIndent(indent); { foreach (AnimatorController controller in controllerClass.Value) { foreach (var layer in controller.layers) { Write("public const string "); Write(NamingUtility.ToVariableName(layer.name)); Write(" = \""); Write(layer.name); WriteLine("\";"); } } } PopIndent(); WriteLine("}"); WriteLine(""); } // Parameters if (m_GenerateParamaters) { WriteLine("public static class Parameters"); WriteLine("{"); PushIndent(indent); { // Constants foreach (AnimatorController controller in controllerClass.Value) { foreach (AnimatorControllerParameter parameter in controller.parameters) { WriteLine("/// <summary>"); Write("/// Type: "); WriteLine(parameter.type.ToString()); WriteLine("/// </summary>"); Write("public static int "); Write(NamingUtility.ToVariableName(parameter.name)); Write(" = "); Write(parameter.nameHash.ToString()); WriteLine(";"); } } WriteLine(""); // Utility Functions foreach (AnimatorController controller in controllerClass.Value) { foreach (AnimatorControllerParameter parameter in controller.parameters) { Write("public static void Set"); Write(NamingUtility.ToVariableName(parameter.name)); Write("(Animator animator"); switch (parameter.type) { case AnimatorControllerParameterType.Trigger: WriteLine(")"); WriteLine("{"); PushIndent(indent); Write("animator.SetTrigger("); Write(NamingUtility.ToVariableName(parameter.name)); WriteLine(");"); break; case AnimatorControllerParameterType.Bool: WriteLine(", bool value)"); WriteLine("{"); PushIndent(indent); Write("animator.SetBool("); Write(NamingUtility.ToVariableName(parameter.name)); WriteLine(", value);"); break; case AnimatorControllerParameterType.Int: WriteLine(", int value)"); WriteLine("{"); PushIndent(indent); Write("animator.SetInteger("); Write(NamingUtility.ToVariableName(parameter.name)); WriteLine(", value);"); break; case AnimatorControllerParameterType.Float: WriteLine(", float value)"); WriteLine("{"); PushIndent(indent); Write("animator.SetFloat("); Write(NamingUtility.ToVariableName(parameter.name)); WriteLine(", value);"); break; } PopIndent(); WriteLine("}"); WriteLine(""); } } } PopIndent(); WriteLine("}"); WriteLine(""); } // Initializer } PopIndent(); WriteLine("}"); WriteLine(""); } PopIndent(); } }
public ResourceItem(string fileName) { extension = Path.GetExtension(fileName); name = Path.GetFileNameWithoutExtension(fileName); safeName = NamingUtility.ToVariableName(name); }
public string GenerateClass(Table table, string rootNamespace, Db model, string safedCode = "") { StringBuilder builder = new StringBuilder(); string @namespace = rootNamespace; StringCollection addedNameSpaces = new StringCollection(); addedNameSpaces.Add(NamingUtility.GetFullNamespace(rootNamespace, table.Name)); // @@@ scafftools makedomain generated @@@ // @@@ at 01.06.2015 00:43:59 @@@ builder.AppendLine("// @@@ scafftools makedomain generated @@@"); builder.AppendFormat("// @@@ at {0} @@@\r\n", DateTime.Now); //set using statements builder.AppendLine(""); builder.AppendLine("using System;"); builder.AppendLine("using System.Collections.Generic;"); foreach (var relation in table.Relations) { var nms = NamingUtility.GetFullNamespace(@namespace, relation.OuterTable.Name); if (!addedNameSpaces.Contains(nms)) { builder.AppendFormat("using {0};\r\n", nms); addedNameSpaces.Add(nms); } } foreach (var outTable in model.Tables.Where(t => t.Name != table.Name).ToList()) { foreach (var relation in outTable.Relations.Where(r => r.OuterTable.Name == table.Name)) { var nms = NamingUtility.GetFullNamespace(@namespace, outTable.Name); if (!addedNameSpaces.Contains(nms)) { builder.AppendFormat("using {0};\r\n", nms); addedNameSpaces.Add(nms); } } } builder.AppendLine(""); //namespace builder.AppendFormat("namespace {0}\r\n", NamingUtility.GetFullNamespace(rootNamespace, table.Name)); builder.AppendLine("{"); //class var className = NamingUtility.RemoveSFromName(NamingUtility.GetCleanTableName(table.Name)); builder.AppendFormat("\tpublic class {0}\r\n", className); builder.AppendFormat("\t"); builder.Append("{"); builder.AppendFormat("\r\n"); foreach (var field in table.Columns) { string typeName = GetTypeName(field.Type); bool nullable = false; if (GetTypeNameType(typeName).IsValueType&& field.CanBeNull) { nullable = true; } //property builder.AppendLine("\t\t// @@@ scafftools property generated @@@"); builder.AppendFormat("\t\tpublic {0}{1} {2} ", typeName, nullable == true ? "?" : "", field.Name); builder.Append("{ get; set; }"); builder.AppendFormat("\r\n"); //end of property } foreach (var relation in table.Relations) { var propertyName = NamingUtility.RemoveIdFromName(relation.UniqueColumnKey.Name); var cleanTableName = NamingUtility.GetCleanTableName(relation.OuterTable.Name); builder.AppendLine("\t\t// @@@ scafftools makedomain generated @@@"); builder.AppendFormat("\t\tpublic virtual {0} {1} ", NamingUtility.RemoveSFromName(cleanTableName), propertyName); builder.Append("{ get; set; }"); builder.AppendFormat("\r\n"); } var outTables = model.Tables.Where(t => t.Name != table.Name).ToList();// && table.Relations.Any(a => a.OuterTable.Name == table.Name)).ToList(); //t.Name != table.Name && foreach (var outTable in outTables) { foreach (var relation in outTable.Relations.Where(r => r.OuterTable.Name == table.Name)) { var propertyName = NamingUtility.GetCleanTableName(outTable.Name); builder.AppendLine("\t\t// @@@ scafftools makedomain generated @@@"); builder.AppendFormat("\t\tpublic virtual ICollection<{0}> {1} ", NamingUtility.RemoveSFromName(NamingUtility.GetCleanTableName(outTable.Name)), propertyName); builder.Append("{ get; set; }"); builder.AppendFormat("\r\n"); } } //back safed code if (safedCode != string.Empty) { builder.Append(safedCode); } //end of class builder.AppendFormat("\t"); builder.Append("}"); builder.AppendFormat("\r\n"); //end of namespace builder.AppendLine("}"); return(builder.ToString()); }