private void CreateScript() { TargetDir = TargetDir.EnsureDirEnd(); var appender = new StringAppender(); var successfulSettings = new List <YuScriptCreateSetting>(); foreach (var setting in ScriptCreateSettings) { if (string.IsNullOrEmpty(setting.ScriptId)) { //YuEditorAPIInvoker.DisplayTip("脚本名不能为空!"); return; } var scriptPath = TargetDir + setting.ScriptId + ".cs"; if (File.Exists(scriptPath)) { Debug.Log($"目标脚本{scriptPath}已存在,创建取消!"); continue; } AppendNoteHead(appender, setting); AppendBody(appender, setting); var content = appender.ToString(); IOUtility.WriteAllText(scriptPath, content); appender.Clean(); successfulSettings.Add(setting); } foreach (var setting in successfulSettings) { ScriptCreateSettings.Remove(setting); } AssetDatabase.Refresh(); }