Exemplo n.º 1
0
 static void PerformAndroidBuild()
 {
     //打ab
     CreateAssetBundles.BuildAllAssetBundles();
     //打apk
     EditorUserBuildSettings.SwitchActiveBuildTarget(BuildTarget.Android);
     BuildPipeline.BuildPlayer(GetScenePaths(), "Build/" + GetProjectName() + ".apk", BuildTarget.Android, AutoBuildOption);
 }
 static UnityEditorStartup()
 {
     BuildPlayerWindow.RegisterBuildPlayerHandler(
         new System.Action <BuildPlayerOptions>(buildPlayerOptions => {
         CreateAssetBundles.BuildAllAssetBundles();
         BuildPlayerWindow.DefaultBuildMethods.BuildPlayer(buildPlayerOptions);
     })
         );
 }
    public static void ShowWindow()
    {
        AssetBundleWindow thisWindow = (AssetBundleWindow)EditorWindow.GetWindow(typeof(AssetBundleWindow));

        thisWindow.title = "Bundle Creator";

        ReadEditorPrefs(thisWindow);
        CreateAssetBundles.ReadBundleControlFile(Application.dataPath + thisWindow.exportLocation + CreateAssetBundles.bundleControlFileName, thisWindow.bundleVersions);
        CreateAssetBundles.ReadBundleContentsFile(Application.dataPath + thisWindow.exportLocation + CreateAssetBundles.bundleContentsFileName, thisWindow.bundleContents);
        thisWindow.ReadBundleFileSizes();
    }
Exemplo n.º 4
0
    static void MakeAssetBundleAndroid()
    {
        CSObjectWrapEditor.Generator.ClearAll();
        CSObjectWrapEditor.Generator.GenAll();

        CreateAssetBundles.ClearLuaFiles();
        CreateAssetBundles.CopyLuaFilesToRes();

        AssetBundleGen.NamedAssetBundleName();
        AssetBundleTool.CreateAndroidAssetBundle();
    }
Exemplo n.º 5
0
    public static void BuildAndroidRelease()
    {
        PlayerSettings.Android.bundleVersionCode++;
        try
        {
            BuildPlatform(BuildTarget.Android, Scenes);
        }
        catch
        {
            PlayerSettings.Android.bundleVersionCode--;
            throw;
        }

        CreateAssetBundles.EnsureBuilt();
    }
Exemplo n.º 6
0
    public static void BuildAndroidDebug()
    {
        string oldProductName = PlayerSettings.productName;
        string oldPackageName = PlayerSettings.applicationIdentifier;

        try
        {
            PlayerSettings.productName += " Debug";
            PlayerSettings.SetApplicationIdentifier(BuildTargetGroup.Android, oldPackageName + ".Debug");
            BuildPlatform(BuildTarget.Android, Scenes);
        }
        finally
        {
            PlayerSettings.productName = oldProductName;
            PlayerSettings.SetApplicationIdentifier(BuildTargetGroup.Android, oldPackageName);
        }

        CreateAssetBundles.EnsureBuilt();
    }
        protected void OnGUI()
        {
            GUILayout.Label("Generates all the asset bundles");
            if (GUILayout.Button("Create Monsters Bundles"))
            {
                CreateAssetBundles.BuildAssetBundles();
            }
            GUILayout.Label("Make sure that there are no other bundle files \n" +
                            " in the Streaming Assets");
            if (GUILayout.Button("Move Bundles to Folders"))
            {
                MoveMonsterBundlesToFolders();
            }
            GUILayout.Label("Current Bundles in MonstersMod: " + curBundlesInMosntersMod);
            if (GUILayout.Button("GetAllBundles in MonstersMod"))
            {
                GetAllBundles();
            }

            GUILayout.Space(10);
            GUILayout.Label("WARNING : this will delete all the bundle files\n" +
                            "that are in the MonstersMod Folder :");
            if (GUILayout.Button("Delete All Bundles in MonstersMod"))
            {
                DeleteAllBundlesInMonstersMod();
                GetAllBundles();
            }

            GUILayout.Space(20);

            GUILayout.Label("Set List of monsters to remove from the original");
            _curMonstersToRemove = (MonstersToRemove)EditorGUILayout.ObjectField(_curMonstersToRemove, typeof(MonstersToRemove), true);
            GUILayout.Label("Select where to export the Monsters Mod");
            if (GUILayout.Button("Export Monsters Folder", GUILayout.Height(50)))
            {
                ExportMonstersFiles();
            }
        }
Exemplo n.º 8
0
    public static void BuildAll()
    {
        var scenes = Scenes;

        foreach (var platform in Constants.platforms)
        {
            DirUtils.RmBuild(platform);
        }

        foreach (var platform in Constants.platforms)
        {
            if (platform == BuildTarget.Android)
            {
                BuildAndroidRelease();
                BuildAndroidDebug();
            }
            else
            {
                BuildPlatform(platform, scenes);
            }
        }

        CreateAssetBundles.EnsureBuilt();
    }
    void OnGUI()
    {
        undoManager.CheckUndo();

        GUILayout.Label("Export Settings", EditorStyles.boldLabel);
        assetBundleFolderLocation = EditorGUILayout.TextField("AssetBundles folder", assetBundleFolderLocation);
        GUILayout.Label("Application.dataPath			 "+ Application.dataPath, EditorStyles.label);
        exportLocation      = EditorGUILayout.TextField("Export folder", exportLocation);
        bundleFileExtension = EditorGUILayout.TextField("Bundle file ext.", bundleFileExtension);
        setLowerCaseName    = EditorGUILayout.Toggle("Names to lower case", setLowerCaseName);

        buildAssetBundleOptions  = EditorGUILayout.BeginToggleGroup("BuildAssetBundleOptions", buildAssetBundleOptions);
        collectDependencies      = EditorGUILayout.Toggle("CollectDependencies", collectDependencies);
        completeAssets           = EditorGUILayout.Toggle("CompleteAssets", completeAssets);
        disableWriteTypeTree     = EditorGUILayout.Toggle("DisableWriteTypeTree", disableWriteTypeTree);
        deterministicAssetBundle = EditorGUILayout.Toggle("DeterministicAssetBundle", deterministicAssetBundle);
        uncompressedAssetBundle  = EditorGUILayout.Toggle("UncompressedAssetBundle", uncompressedAssetBundle);
        EditorGUILayout.EndToggleGroup();

        optionalSettings = EditorGUILayout.BeginToggleGroup("Optional Settings", optionalSettings);
        buildTarget      = (BuildTarget)EditorGUILayout.EnumPopup("Build Target", buildTarget);
        EditorGUILayout.EndToggleGroup();

        undoManager.CheckDirty();

        GUILayout.Label("Reset Settings", EditorStyles.boldLabel);
        if (GUILayout.Button("Reset"))
        {
            ClearPreferences(this);
            WriteEditorPrefs(this);
            CreateAssetBundles.ReadBundleControlFile(Application.dataPath + exportLocation + CreateAssetBundles.bundleControlFileName, bundleVersions);
            CreateAssetBundles.ReadBundleContentsFile(Application.dataPath + exportLocation + CreateAssetBundles.bundleContentsFileName, bundleContents);
            ReadBundleFileSizes();
        }

        GUILayout.Label("Build", EditorStyles.boldLabel);
        if (GUILayout.Button("Build Asset Bundles"))
        {
            if (!CreateAssetBundles.ExportAssetBundleFolders(this))
            {
                Debug.LogError("AssetBundle Build Failed! - Please check your settings in the Bundle Creator at Assets->Bundle Creator-> Asset Bundle Creator.");
            }
            else
            {
                //It worked, save the preferences and reload the control file
                WriteEditorPrefs(this);
                bundleVersions.Clear();
                bundleContents.Clear();
                bundleFileSizes.Clear();
                CreateAssetBundles.ReadBundleControlFile(Application.dataPath + exportLocation + CreateAssetBundles.bundleControlFileName, bundleVersions);
                CreateAssetBundles.ReadBundleContentsFile(Application.dataPath + exportLocation + CreateAssetBundles.bundleContentsFileName, bundleContents);
                ReadBundleFileSizes();
            }
        }

        GUILayout.Label("Bundle Versions", EditorStyles.boldLabel);
        scrollPosition = EditorGUILayout.BeginScrollView(scrollPosition);
        foreach (KeyValuePair <string, int> bundleVersion in bundleVersions)
        {
            float bundleFileSize = 0;
            bundleFileSizes.TryGetValue(bundleVersion.Key, out bundleFileSize);
            if (GUILayout.Button(bundleVersion.Key + ", Version:" + bundleVersion.Value + ", Size: " + bundleFileSize + "kb"))
            {
                List <string> assetsInBundle = null;
                bundleContents.TryGetValue(bundleVersion.Key, out assetsInBundle);
                if (assetsInBundle != null)
                {
                    CreateContentWindow();
                    contentWindow.SelectAssetBundle(bundleVersion.Key, assetsInBundle, Application.dataPath + exportLocation, bundleFileSize);
                    contentWindow.ShowTab();
                }
            }
        }
        EditorGUILayout.EndScrollView();
    }
Exemplo n.º 10
0
 public static void Build()
 {
     // 构建AssetBundles
     CreateAssetBundles.BuildAllAssetBundles();
 }
Exemplo n.º 11
0
    private static void Build(BuildOptions options)
    {
        BuildPipeline.BuildPlayer(EditorBuildSettings.scenes, Reg.buildPath, BuildTarget.StandaloneWindows, options);

        CreateAssetBundles.BuildAllAssetBundles(Reg.assetBundleDataPathBuild);
    }
        void OnGUI()
        {
            GUILayout.Label("注意:打包平台设置", EditorStyles.boldLabel);

            EditorGUILayout.Space();
            EditorGUILayout.Space();

            GUILayout.Label("    工具1:", EditorStyles.boldLabel);
            GUILayout.Label("    根据平台打包全部AB", EditorStyles.boldLabel);
            GUILayout.Label("    AB的输出路径为:" + CreateAssetBundles.savePath(false), EditorStyles.boldLabel);
            EditorGUILayout.BeginHorizontal();
            if (GUILayout.Button("build windows assetbundles", GUILayout.Width(200), GUILayout.Height(40)) && CanRun)
            {
                CloseThis();
                BuildHandler(BuildTarget.StandaloneWindows);
            }
            if (GUILayout.Button("build android assetbundles", GUILayout.Width(200), GUILayout.Height(40)) && CanRun)
            {
                CloseThis();
                BuildHandler(BuildTarget.Android);
            }
            if (GUILayout.Button("build ios assetbundles", GUILayout.Width(200), GUILayout.Height(40)) && CanRun)
            {
                CloseThis();
                BuildHandler(BuildTarget.iOS);
            }
            EditorGUILayout.EndHorizontal();

            EditorGUILayout.Space();
            EditorGUILayout.Space();
            EditorGUILayout.Space();
            EditorGUILayout.Space();

            loadAssetWay = GUILayout.Toggle(!loadAssetWay, "勾选为编辑器加载,不勾选为AB加载,请选择!(关闭界面保存)", GUILayout.Height(20));

            EditorGUILayout.Space();
            EditorGUILayout.Space();
            EditorGUILayout.Space();
            EditorGUILayout.Space();

            GUILayout.Label("    工具2:", EditorStyles.boldLabel);
            GUILayout.Label("    打AssetBundle并存入StreamingAssets文件夹", EditorStyles.boldLabel);
            GUILayout.Label("    AB的输出路径为:" + CreateAssetBundles.savePath(true), EditorStyles.boldLabel);
            EditorGUILayout.BeginVertical();
            selectBar = GUILayout.Toolbar(selectBar, toolbarNames, GUILayout.Width(500), GUILayout.Height(40));
            EditorGUILayout.Space();
            EditorGUILayout.EndVertical();

            EditorGUILayout.BeginVertical();
            for (int i = 0; i < bundleType.Length; i++)
            {
                selectBundles = GUILayout.Toggle(selectBundles, bundleType[i], GUILayout.Height(20));
            }
            EditorGUILayout.EndVertical();

            EditorGUILayout.Space();

            if (GUILayout.Button("打包所选择的AB", GUILayout.Width(200), GUILayout.Height(40)) && CanRun)
            {
                CloseThis();
                OnSelectPlatform();
            }

            EditorGUILayout.Space();
            EditorGUILayout.Space();
            EditorGUILayout.Space();
            EditorGUILayout.Space();

            GUILayout.Label("    工具3:", EditorStyles.boldLabel);
            GUILayout.Label("    生成Resources内的资源详情信息", EditorStyles.boldLabel);
            GUILayout.Label("    输出路径为:Assets/StreamingAssets/ResourcesDetails.txt");
            if (GUILayout.Button("开始生成", GUILayout.Width(200), GUILayout.Height(40)))
            {
                GenerateResourceDetails();
            }
        }
        private void OnSelectPlatform()
        {
            BuildTarget target  = BuildTarget.StandaloneWindows;
            string      pingtai = toolbarNames[selectBar];

            switch (pingtai)
            {
            case "Windows":
            {
                target = BuildTarget.StandaloneWindows;
                break;
            }

            case "Android":
            {
                target = BuildTarget.Android;
                break;
            }

            case "iOS":
            {
                target = BuildTarget.iOS;
                break;
            }
            }

            for (int i = 0; i < selectBundle.Length; i++)
            {
                selectBundle[i] = selectBundles;
            }

            bool select = false;

            foreach (var s in selectBundle)
            {
                select = select || s;
            }
            if (!select)
            {
                Debug.Log("请勾选任何AB类型!");
                return;
            }

            List <BundleResourceType> typeList = new List <BundleResourceType> ();

            //0 "人物、建筑、人物特效、地图特效、建筑通用特效、UI特效、Shader"
            if (selectBundle[0])
            {
                typeList.Add(BundleResourceType.Characters);
                typeList.Add(BundleResourceType.Buildings);
                typeList.Add(BundleResourceType.NPC);
                typeList.Add(BundleResourceType.Particle_Character);
                typeList.Add(BundleResourceType.Particle_Map);
                typeList.Add(BundleResourceType.Particle_Building);
                typeList.Add(BundleResourceType.Particle_UI);
                typeList.Add(BundleResourceType.Shaders);
            }
            //1 "UI加载图"
            if (selectBundle[1])
            {
                typeList.Add(BundleResourceType.UI_Load);
            }
            //2 "背景音乐",
            if (selectBundle[2])
            {
                typeList.Add(BundleResourceType.Sound_BGM);
            }
            //3 "战斗场景音效",
            if (selectBundle[3])
            {
                typeList.Add(BundleResourceType.Sound_Battle);
            }
            //4 "非战斗场景音效",
            if (selectBundle[4])
            {
                typeList.Add(BundleResourceType.Sound_MainMenu);
            }
            //5 "通用的音效",
            if (selectBundle[5])
            {
                typeList.Add(BundleResourceType.Sound_Common);
            }
            CreateAssetBundles.BuildAssetBundles(target, typeList.ToArray(), true);
        }
 private void BuildHandler(BuildTarget target)
 {
     CreateAssetBundles.BuildAllAssetBundle(target);
 }
Exemplo n.º 15
0
 public static void BuildPlatform()
 {
     CreateAssetBundles.EnsureBuilt();
     BuildPlatform(EditorUserBuildSettings.activeBuildTarget, Scenes);
 }
Exemplo n.º 16
0
    private static void Init()
    {
        CreateAssetBundles windos = (CreateAssetBundles)EditorWindow.GetWindow(typeof(CreateAssetBundles));

        windos.Show();
    }