예제 #1
0
    void InfoHeaderGUI()
    {
        EditorTools.DrawHeader("Info", true);
        EditorTools.BeginContents(false);

        GUI.contentColor = Color.white;
        GUILayout.Label("\u25BA Absolute Project Path >  " + EditorABSetting.GetProjectPath());
        GUILayout.Label("\u25BA Current Build Setting Platform >  " + EditorUserBuildSettings.activeBuildTarget.ToString());
        GUILayout.Label("\u25BA Selected Bundle Extenstion >  " + EditorABSetting.GetBundleExtenstion());
        GUILayout.Label("\u25BA BundleExport FullPath >  " + EditorABSetting.GetBuildExportFullPath());
        GUI.contentColor = Color.white;

        EditorTools.EndContents();
    }
예제 #2
0
    void TabMakerGUI()
    {
        InfoHeaderGUI();

        //-----------------------------
        EditorTools.DrawHeader("Build Bundle", true);
        EditorTools.BeginContents(false);

        DrawSettingItem("Build Export Folder Name", ref EditorABSetting.strExportPath, EditorABSetting.DEF_EXPORT_PATH);

        GUILayout.BeginHorizontal();
        BuildAssetBundleOptions emOpt = (BuildAssetBundleOptions)EditorTools.EnumPopup("BuildOptions", EditorABSetting.emBuildOptions, Color.green, false);

        if (emOpt != EditorABSetting.emBuildOptions)
        {
            EditorABSetting.emBuildOptions = emOpt;
        }
        EditorABSetting.eBUILDTARGET emTarget = (EditorABSetting.eBUILDTARGET)EditorTools.EnumPopup("BuildTarget", EditorABSetting.emBuildTarget, Color.green, false);
        if (emTarget != EditorABSetting.emBuildTarget)
        {
            EditorABSetting.emBuildTarget = emTarget;
        }
        GUILayout.EndHorizontal();
        EditorTools.EndContents();

        //-----------------------------
        EditorTools.DrawHeader("AssetBundle Maker", true);
        EditorTools.BeginContents(false);

        GUILayout.BeginHorizontal();
        GUI.backgroundColor = Color.cyan;
        GUILayout.Space(20f);
        if (GUILayout.Button("Add AssetBundle Folder"))
        {
            msg_log = EditorABManager.MarkFolderInFiles(EditorUtility.OpenFolderPanel("Add a Assets", EditorABSetting.GetProjectPath() + "/Assets", "Select Folder"));
            GUILayout.Space(20f);
            GUI.backgroundColor = Color.white;
            GUILayout.EndHorizontal();
            return;
        }
        if (GUILayout.Button("Add AssetBundle File"))
        {
            msg_log = EditorABManager.MarkInFile(EditorUtility.OpenFilePanel("Add a Assets", EditorABSetting.GetProjectPath() + "/Assets", "*.*"));
            GUILayout.Space(20f);
            GUI.backgroundColor = Color.white;
            GUILayout.EndHorizontal();
            return;
        }
        GUILayout.Space(20f);
        GUI.backgroundColor = Color.white;
        GUILayout.EndHorizontal();

        EditorTools.EndContents();

        // 번들 리스트 채크.
        string[] all = AssetDatabase.GetAllAssetBundleNames();

        EditorTools.DrawHeader("AssetBundle Build", true);
        EditorTools.BeginContents(false);

        if (all.Length > 0)
        {
            GUILayout.BeginHorizontal();
            GUI.backgroundColor = Color.magenta;
            GUILayout.Space(20f);
            if (GUILayout.Button("Export AssetBundles"))
            {
                EditorABSetting.CreateExoprtFolder();
                CleanUnUsedBundleName();
                BuildPipeline.BuildAssetBundles(EditorABSetting.GetBuildPipelineOutPath(),
                                                EditorABSetting.GetBuildPipelineOptions(),
                                                EditorABSetting.GetBuildPipelineTarget());
                EditorABSetting.SaveConfigFile();
                return;
            }
            GUILayout.Space(20f);
            GUI.backgroundColor = Color.white;
            GUILayout.EndHorizontal();
        }

        EditorTools.EndContents();


        // 번들 리스트 채크.
        if (all.Length > 0)
        {
            GUILayout.BeginHorizontal();
            GUILayout.Space(3f);
            GUILayout.BeginVertical();

            mScroll = GUILayout.BeginScrollView(mScroll);
            for (int i = 0; i < all.Length; i++)
            {
                string[] childs = AssetDatabase.GetAssetPathsFromAssetBundle(all[i]);
                if (DrawABList(i, all[i], childs.Length, false))
                {
                    for (int j = 0; j < childs.Length; j++)
                    {
                        GUILayout.Space(-1f);
                        int highlight = (j % 2);// (selected == j);
                        GUI.backgroundColor = highlight == 1 ? Color.white : new Color(0.6f, 0.6f, 0.6f);

                        GUILayout.BeginHorizontal("AS TextArea", GUILayout.MinHeight(20f));
                        GUI.backgroundColor = Color.white;
                        GUILayout.Label(j.ToString(), GUILayout.Width(24f));
                        if (GUILayout.Button(childs[j], "OL TextField", GUILayout.Height(20f)))
                        {
                            msg_log = childs[j];
                        }
                        GUILayout.EndHorizontal();
                    }
                }
            }

            GUILayout.EndScrollView();
            GUILayout.EndVertical();
            GUILayout.Space(3f);
            GUILayout.EndHorizontal();
        }
    }