Exemplo n.º 1
0
        private static void OnPlayModeStateChanged(PlayModeStateChange state)
        {
            switch (state)
            {
            case PlayModeStateChange.ExitingEditMode:
            {
                if (GetAutoRebuildEnabled() && AssetBundlesBuilder.CheckAssetBundlesExist(true))
                {
                    AssetBundlesBuilder.Build(GetLocalBuildTargetTyped(), BuildAssetBundleOptions.StrictMode, false);
                }
                return;
            }

            case PlayModeStateChange.EnteredPlayMode:
            {
                if (GetAutoRebuildEnabled() && AssetBundlesBuilder.CheckAssetBundlesExist(false))
                {
                    Debug.Log("AssetBundles: Bundles were built before Playing");
                }
                break;
            }

            case PlayModeStateChange.ExitingPlayMode:
            {
                if (GetCleanCacheAfterPlayEnabled())
                {
                    AssetBundle.UnloadAllAssetBundles(false);
                    Caching.ClearCache();
                    Debug.Log("AssetBundles: Cache cleaned");
                }
                break;
            }
            }
        }
Exemplo n.º 2
0
        /*
         * Private.
         */

        private static void OnBuildPlayer(BuildPlayerOptions options)
        {
            // While building to a device we always use target platform build target.
            var buildAssetBundles = GetAutoRebuildEnabled() && AssetBundlesBuilder.CheckAssetBundlesExist(true);

            if (buildAssetBundles)
            {
                AssetBundlesBuilder.Build(EditorUserBuildSettings.activeBuildTarget, BuildAssetBundleOptions.StrictMode, false);
            }

            BuildPlayerWindow.DefaultBuildMethods.BuildPlayer(options);

            if (buildAssetBundles)
            {
                Debug.Log("AssetBundles: Bundles were built before Building project");
            }
        }