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