Ejemplo n.º 1
0
    /// <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);
    }
Ejemplo n.º 2
0
    /// <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");
        }
    }