UnityEditor.ProjectWindowUtil.CreateScriptAsset C# (CSharp) Method

CreateScriptAsset() private static method

private static CreateScriptAsset ( string templatePath, string destName ) : void
templatePath string
destName string
return void
        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);
        }