private static void RestoreSplashData() { PlayerSettingsResolver.SetSplashScreen(logos: null); BuildTarget buildTarget = EditorUserBuildSettings.activeBuildTarget; switch (buildTarget) { case BuildTarget.iOS: PlayerSettingsResolver.iOS.SetiPhoneLaunchScreenType(iOSLaunchScreenType.None); QuickEditorUtils.SetSplashScreen("iOSLaunchScreenPortrait", null); QuickEditorUtils.SetSplashScreen("iOSLaunchScreenLandscape", null); break; case BuildTarget.Android: QuickEditorUtils.SetSplashScreen("androidSplashScreen", null); break; default: break; } AssetDatabase.SaveAssets(); AssetDatabase.Refresh(); }
public static void SetSplashScreen() { if (GlobalToolConfigure.Current == null || GlobalToolConfigure.Current.SDK == null) { Debug.LogError("GlobalToolConfigure not found, Cannot set default icon"); return; } if (string.IsNullOrEmpty(GlobalToolConfigure.Current.SDK.DefaultIconFilter) || string.IsNullOrEmpty(GlobalToolConfigure.Current.SDK.DefaultIconFilterSearchPath)) { Debug.LogError("GlobalToolConfigure -> SplashScreenFilter、SplashScreenFilterSearchPath is error, Cannot set default icon"); return; } RestoreSplashData(); Debug.Log("Starting set splash screen"); string filter = GlobalToolConfigure.Current.SDK.SplashScreenFilter; string filterSearchPath = BuildPipelineAsset.GetChannelFilterSearchPath(GlobalToolConfigure.Current.SDK.SplashScreenFilterSearchPath); var folders = new List <string>() { filterSearchPath }; string[] searchInFolders = folders.ToArray(); string[] assets = AssetDatabase.FindAssets(filter, searchInFolders); if (assets == null || assets.Length == 0) { Debug.LogError(string.Format("Dir: {0} 下未找到匹配的资源, SplashScreen设置失败", filterSearchPath)); return; } PlayerSettingsResolver.SetSplashScreen(backgroundColor: Color.white, show: true, showUnityLogo: false, drawMode: PlayerSettings.SplashScreen.DrawMode.AllSequential); List <Texture2D> mSplashs = new List <Texture2D>(); mSplashs.Clear(); for (int i = 0; assets != null && i < assets.Length; i++) { string assetPath = AssetDatabase.GUIDToAssetPath(assets[i]); if (assetPath == null) { continue; } Texture2D asset = AssetDatabase.LoadAssetAtPath <Texture2D>(assetPath); if (asset == null) { continue; } mSplashs.Add(asset); } BuildTarget buildTarget = EditorUserBuildSettings.activeBuildTarget; switch (buildTarget) { case BuildTarget.iOS: PlayerSettingsResolver.iOS.SetiPhoneLaunchScreenType(iOSLaunchScreenType.ImageAndBackgroundRelative); QuickEditorUtils.SetSplashScreen("iOSLaunchScreenPortrait", mSplashs[0]); QuickEditorUtils.SetSplashScreen("iOSLaunchScreenLandscape", mSplashs[0]); break; case BuildTarget.Android: QuickEditorUtils.SetSplashScreen("androidSplashScreen", mSplashs[0]); break; default: break; } //PlayerSettings.SplashScreen.background = mSplashs[0]; AssetDatabase.SaveAssets(); AssetDatabase.Refresh(); Debug.Log("Set splash screen succeeded"); }