示例#1
0
    private void TitleGUI()
    {
        if (GUI.Button(new Rect(5, 5, 60, 15), "Create", _preButton))
        {
            //新建一个AB包对象,并将之加入到AB包配置信息对象中
            AssetBundleBuildInfo build = new AssetBundleBuildInfo("ab" + System.DateTime.Now.ToString("yyyyMMddHHmmss"));
            _assetBundle.AssetBundles.Add(build);
        }
        //当前未选中任一AB包的话,禁用之后的所有UI控件
        GUI.enabled = _currentAB == -1 ? false : true;
        if (GUI.Button(new Rect(65, 5, 60, 15), "Rename", _preButton))
        {
            _isRename = true;
        }
        if (GUI.Button(new Rect(125, 5, 60, 15), "Clear", _preButton))
        {
            if (EditorUtility.DisplayDialog("Prompt", "Clear " + _assetBundle.AssetBundles[_currentAB].Name + " ?", "Yes", "No"))
            {
                _assetBundle.AssetBundles[_currentAB].ClearAsset();
            }
        }
        if (GUI.Button(new Rect(185, 5, 60, 15), "Delete", _preButton))
        {
            if (EditorUtility.DisplayDialog("Prompt", "Delete " + _assetBundle.AssetBundles[_currentAB].Name + "?This will clear all assets!", "Yes", "No"))
            {
                _assetBundle.DeleteAssetBundle(_currentAB);
                _currentAB = -1;
            }
        }
        if (GUI.Button(new Rect(250, 5, 100, 15), "Add Assets", _preButton))
        {
            List <AssetInfo> assets = _asset.GetCheckedAssets();
            for (int i = 0; i < assets.Count; i++)
            {
                _assetBundle.AssetBundles[_currentAB].AddAsset(assets[i]);
            }
        }
        //取消UI控件的禁用
        GUI.enabled = true;

        _hideInvalidAsset = GUI.Toggle(new Rect(360, 5, 100, 15), _hideInvalidAsset, "Hide Invalid");
        _hideBundleAsset  = GUI.Toggle(new Rect(460, 5, 100, 15), _hideBundleAsset, "Hide Bundled");

        if (GUI.Button(new Rect(250, 25, 60, 15), "Open", _preButton))
        {
            OpenCMDDirectory(string.IsNullOrEmpty(_buildPath) ? "C:\\" : _buildPath);
        }
        if (GUI.Button(new Rect(310, 25, 60, 15), "Browse", _preButton))
        {
            SelectDirctory();
        }

        GUI.Label(new Rect(370, 25, 70, 15), "Build Path:");
        _buildPath = GUI.TextField(new Rect(440, 25, 300, 15), _buildPath);

        BuildTarget buildTarget = (BuildTarget)EditorGUI.EnumPopup(new Rect((int)position.width - 205, 5, 150, 15), _buildTarget, _preDropDown);

        if (buildTarget != _buildTarget)
        {
            _buildTarget = buildTarget;
            EditorPrefs.SetInt("BuildTarget", (int)_buildTarget);
        }

        if (GUI.Button(new Rect((int)position.width - 55, 5, 50, 15), "Build", _preButton))
        {
            EditorTool.Build(_asset, _buildPath);
            Close();
        }
    }