/// <summary> /// 是否有相同的脚本 /// </summary> /// <param name="_script">脚本</param> /// <param name="_winName">窗口名称</param> /// <returns>true:是,false:否</returns> bool OnSameScript(EditorTextAssetConfig _script, string _winName) { bool hasSame = false; if (mScriptConfig.paths != null && mScriptConfig.paths.Length > 0) { string directory = string.Empty; string name = string.Empty; string path = string.Empty; foreach (string p in mScriptConfig.paths) { name = OnGetName(_winName); directory = OnGetDirectory(p, _winName).TransPathSeparatorCharToUnityChar(); path = Path.Combine(directory, name + _script.extAttribute.ext).TransPathSeparatorCharToUnityChar(); if (!_script.directory.Equals(directory) && File.Exists(path)) { hasSame = true; EditorGUILayout.HelpBox("The same script in =>" + path, MessageType.Error); EditorStrayFogApplication.PingObject(path); break; } } } return(hasSame); }
/// <summary> /// 创建脚本 /// </summary> /// <param name="_viewScript">视图脚本</param> void OnCreateScript(EditorTextAssetConfig _viewScript) { if (!EditorStrayFogUtility.assetBundleName.IsIllegalFile(_viewScript.name)) { bool hasScript = false; string hasScriptPath = string.Empty; if (mScriptConfig.paths != null && mScriptConfig.paths.Length > 0) { for (int i = 0; i < mScriptConfig.paths.Length; i++) { mTempUIWindowViewScript.SetDirectory( OnGetDirectory(mScriptConfig.paths[i], Path.GetFileName(_viewScript.directory))); mTempUIWindowViewScript.SetName(_viewScript.name); hasScript |= File.Exists(mTempUIWindowViewScript.fileName); hasScriptPath = mTempUIWindowViewScript.fileName; if (hasScript) { break; } } } if (hasScript) { EditorUtility.DisplayDialog("Exists Script", "The script 【" + _viewScript.name + "】 already exists in 【" + hasScriptPath + "】.", "OK"); } else { string windowTemplate = EditorResxTemplete.UIWindowViewTemplete; windowTemplate = windowTemplate.Replace("#NAME#", _viewScript.name); _viewScript.SetText(windowTemplate); _viewScript.CreateAsset(); EditorStrayFogApplication.ExecuteMenu_AssetsRefresh(); EditorUtility.DisplayDialog("Create New Window Script", "Create window scripts is complete.", "OK"); } } else { EditorUtility.DisplayDialog("Illegal Name", "Window Name is not legal.", "OK"); } }