public bool BeginNewAssetCreation(int instanceID, EndNameEditAction newAssetEndAction, string filePath, Texture2D icon, string newAssetResourceFile) { string text; if (!filePath.StartsWith("assets/", StringComparison.CurrentCultureIgnoreCase)) { text = AssetDatabase.GetUniquePathNameAtSelectedPath(filePath); } else { text = AssetDatabase.GenerateUniqueAssetPath(filePath); } if (!CreateAssetUtility.IsPathDataValid(text)) { Debug.LogErrorFormat("Invalid generated unique path '{0}' (input path '{1}')", new object[] { text, filePath }); this.Clear(); return(false); } this.m_InstanceID = instanceID; this.m_Path = text; this.m_Icon = icon; this.m_EndAction = newAssetEndAction; this.m_ResourceFile = newAssetResourceFile; Selection.activeObject = EditorUtility.InstanceIDToObject(instanceID); return(true); }
// Selection changes when calling BeginNewAsset if it succeeds public bool BeginNewAssetCreation(int instanceID, EndNameEditAction newAssetEndAction, string filePath, Texture2D icon, string newAssetResourceFile) { //Sanitize input string sanitizedFilePath = filePath != null?filePath.ConvertSeparatorsToUnity() : filePath; string sanitizedNewAssetResourceFile = newAssetResourceFile != null?newAssetResourceFile.ConvertSeparatorsToUnity() : newAssetResourceFile; string uniquePath; if (!sanitizedFilePath.StartsWith("assets/", System.StringComparison.CurrentCultureIgnoreCase)) { uniquePath = AssetDatabase.GetUniquePathNameAtSelectedPath(sanitizedFilePath); } else { uniquePath = AssetDatabase.GenerateUniqueAssetPath(sanitizedFilePath); } if (!IsPathDataValid(uniquePath)) { Debug.LogErrorFormat("Invalid generated unique path '{0}' (input path '{1}')", uniquePath, sanitizedFilePath); Clear(); return(false); } m_InstanceID = instanceID; m_Path = uniquePath; m_Icon = icon; m_EndAction = newAssetEndAction; m_ResourceFile = sanitizedNewAssetResourceFile; // Change selection to none or instanceID Selection.activeObject = EditorUtility.InstanceIDToObject(instanceID); return(true); }
private static void CreateScriptAsset(string templatePath, string destName) { if (templatePath.ToLower().Contains("test")) { string uniquePathNameAtSelectedPath = AssetDatabase.GetUniquePathNameAtSelectedPath(destName); if (!uniquePathNameAtSelectedPath.ToLower().Contains("/editor/")) { uniquePathNameAtSelectedPath = uniquePathNameAtSelectedPath.Substring(0, (uniquePathNameAtSelectedPath.Length - destName.Length) - 1); string path = Path.Combine(uniquePathNameAtSelectedPath, "Editor"); if (!Directory.Exists(path)) { AssetDatabase.CreateFolder(uniquePathNameAtSelectedPath, "Editor"); } uniquePathNameAtSelectedPath = Path.Combine(path, destName).Replace(@"\", "/"); } destName = uniquePathNameAtSelectedPath; } Texture2D icon = null; string extension = Path.GetExtension(destName); if (extension != null) { int num; if (< > f__switch$map1F == null) { Dictionary <string, int> dictionary = new Dictionary <string, int>(4); dictionary.Add(".js", 0); dictionary.Add(".cs", 1); dictionary.Add(".boo", 2); dictionary.Add(".shader", 3);
private static void CreateScriptAsset(string templatePath, string destName) { string fileName = Path.GetFileName(templatePath); if (fileName.ToLower().Contains("editortest") || fileName.ToLower().Contains("editmode")) { string text = AssetDatabase.GetUniquePathNameAtSelectedPath(destName); if (!text.ToLower().Contains("/editor/")) { text = text.Substring(0, text.Length - destName.Length - 1); string text2 = Path.Combine(text, "Editor"); if (!Directory.Exists(text2)) { AssetDatabase.CreateFolder(text, "Editor"); } text = Path.Combine(text2, destName); text = text.Replace("\\", "/"); } destName = text; } string extension = Path.GetExtension(destName); Texture2D icon; if (extension != null) { if (extension == ".js") { icon = (EditorGUIUtility.IconContent("js Script Icon").image as Texture2D); goto IL_1AF; } if (extension == ".cs") { icon = (EditorGUIUtility.IconContent("cs Script Icon").image as Texture2D); goto IL_1AF; } if (extension == ".boo") { icon = (EditorGUIUtility.IconContent("boo Script Icon").image as Texture2D); goto IL_1AF; } if (extension == ".shader") { icon = (EditorGUIUtility.IconContent("Shader Icon").image as Texture2D); goto IL_1AF; } if (extension == ".asmdef") { icon = (EditorGUIUtility.IconContent("AssemblyDefinitionAsset Icon").image as Texture2D); goto IL_1AF; } } icon = (EditorGUIUtility.IconContent("TextAsset Icon").image as Texture2D); IL_1AF: ProjectWindowUtil.StartNameEditingIfProjectWindowExists(0, ScriptableObject.CreateInstance <DoCreateScriptAsset>(), destName, icon, templatePath); }
static void CreateScriptAsset(string templatePath, string destName) { var templateFilename = Path.GetFileName(templatePath); if (templateFilename.ToLower().Contains("editortest") || templateFilename.ToLower().Contains("editmode")) { var tempPath = AssetDatabase.GetUniquePathNameAtSelectedPath(destName); if (!tempPath.ToLower().Contains("/editor/")) { tempPath = tempPath.Substring(0, tempPath.Length - destName.Length - 1); var editorDirPath = Path.Combine(tempPath, "Editor"); if (!Directory.Exists(editorDirPath)) { AssetDatabase.CreateFolder(tempPath, "Editor"); } tempPath = Path.Combine(editorDirPath, destName); tempPath = tempPath.Replace("\\", "/"); } destName = tempPath; } Texture2D icon = null; switch (Path.GetExtension(destName)) { case ".js": icon = EditorGUIUtility.IconContent("js Script Icon").image as Texture2D; break; case ".cs": icon = EditorGUIUtility.IconContent("cs Script Icon").image as Texture2D; break; case ".boo": icon = EditorGUIUtility.IconContent("boo Script Icon").image as Texture2D; break; case ".shader": icon = EditorGUIUtility.IconContent("Shader Icon").image as Texture2D; break; case ".asmdef": icon = EditorGUIUtility.IconContent("AssemblyDefinitionAsset Icon").image as Texture2D; break; default: icon = EditorGUIUtility.IconContent("TextAsset Icon").image as Texture2D; break; } StartNameEditingIfProjectWindowExists(0, ScriptableObject.CreateInstance <DoCreateScriptAsset>(), destName, icon, templatePath); }
public void BeginNewAssetCreation(int instanceID, EndNameEditAction newAssetEndAction, string pathName, Texture2D icon, string newAssetResourceFile) { if (!pathName.StartsWith("assets/", StringComparison.CurrentCultureIgnoreCase)) { pathName = AssetDatabase.GetUniquePathNameAtSelectedPath(pathName); } else { pathName = AssetDatabase.GenerateUniqueAssetPath(pathName); } this.m_InstanceID = instanceID; this.m_Path = pathName; this.m_Icon = icon; this.m_EndAction = newAssetEndAction; this.m_ResourceFile = newAssetResourceFile; Selection.activeObject = EditorUtility.InstanceIDToObject(instanceID); }
private static void CreateScriptAsset(string templatePath, string destName) { if (Path.GetFileName(templatePath).ToLower().Contains("editortest")) { string uniquePathNameAtSelectedPath = AssetDatabase.GetUniquePathNameAtSelectedPath(destName); if (!uniquePathNameAtSelectedPath.ToLower().Contains("/editor/")) { uniquePathNameAtSelectedPath = uniquePathNameAtSelectedPath.Substring(0, (uniquePathNameAtSelectedPath.Length - destName.Length) - 1); string path = Path.Combine(uniquePathNameAtSelectedPath, "Editor"); if (!Directory.Exists(path)) { AssetDatabase.CreateFolder(uniquePathNameAtSelectedPath, "Editor"); } uniquePathNameAtSelectedPath = Path.Combine(path, destName).Replace(@"\", "/"); } destName = uniquePathNameAtSelectedPath; } Texture2D icon = null; switch (Path.GetExtension(destName)) { case ".js": icon = EditorGUIUtility.IconContent("js Script Icon").image as Texture2D; break; case ".cs": icon = EditorGUIUtility.IconContent("cs Script Icon").image as Texture2D; break; case ".boo": icon = EditorGUIUtility.IconContent("boo Script Icon").image as Texture2D; break; case ".shader": icon = EditorGUIUtility.IconContent("Shader Icon").image as Texture2D; break; default: icon = EditorGUIUtility.IconContent("TextAsset Icon").image as Texture2D; break; } StartNameEditingIfProjectWindowExists(0, ScriptableObject.CreateInstance <DoCreateScriptAsset>(), destName, icon, templatePath); }
private static void CreateScriptAsset(string templatePath, string destName) { if (Path.GetFileName(templatePath).ToLower().Contains("test")) { string str1 = AssetDatabase.GetUniquePathNameAtSelectedPath(destName); if (!str1.ToLower().Contains("/editor/")) { string str2 = str1.Substring(0, str1.Length - destName.Length - 1); string str3 = Path.Combine(str2, "Editor"); if (!Directory.Exists(str3)) { AssetDatabase.CreateFolder(str2, "Editor"); } str1 = Path.Combine(str3, destName).Replace("\\", "/"); } destName = str1; } string extension = Path.GetExtension(destName); Texture2D image; if (extension != null) { // ISSUE: reference to a compiler-generated field if (ProjectWindowUtil.\u003C\u003Ef__switch\u0024map1F == null) { // ISSUE: reference to a compiler-generated field ProjectWindowUtil.\u003C\u003Ef__switch\u0024map1F = new Dictionary <string, int>(4) { { ".js", 0 }, { ".cs", 1 }, { ".boo", 2 }, { ".shader", 3 } }; } int num; // ISSUE: reference to a compiler-generated field if (ProjectWindowUtil.\u003C\u003Ef__switch\u0024map1F.TryGetValue(extension, out num)) { switch (num) { case 0: image = EditorGUIUtility.IconContent("js Script Icon").image as Texture2D; goto label_16; case 1: image = EditorGUIUtility.IconContent("cs Script Icon").image as Texture2D; goto label_16; case 2: image = EditorGUIUtility.IconContent("boo Script Icon").image as Texture2D; goto label_16; case 3: image = EditorGUIUtility.IconContent("Shader Icon").image as Texture2D; goto label_16; } } } image = EditorGUIUtility.IconContent("TextAsset Icon").image as Texture2D; label_16: ProjectWindowUtil.StartNameEditingIfProjectWindowExists(0, (EndNameEditAction)ScriptableObject.CreateInstance <DoCreateScriptAsset>(), destName, image, templatePath); }