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; } } }
/* * 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"); } }