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); }
/// <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); }