public static void SetSplashLogos() { 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 -> SplashLogosFilter、SplashLogosFilterSearchPath is error, Cannot set default icon"); return; } RestoreSplashData(); Debug.Log("Starting set splash logos"); string filter = GlobalToolConfigure.Current.SDK.SplashLogosFilter; string filterSearchPath = BuildPipelineAsset.GetChannelFilterSearchPath(GlobalToolConfigure.Current.SDK.SplashLogosFilterSearchPath); 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} 下未找到匹配的资源, SplashLogos设置失败", filterSearchPath)); return; } PlayerSettingsResolver.SetSplashScreen(backgroundColor: Color.white, show: true, showUnityLogo: false, drawMode: PlayerSettings.SplashScreen.DrawMode.AllSequential); List <PlayerSettings.SplashScreenLogo> screenLogos = new List <PlayerSettings.SplashScreenLogo>(); screenLogos.Clear(); for (int i = 0; assets != null && i < assets.Length; i++) { string assetPath = AssetDatabase.GUIDToAssetPath(assets[i]); if (assetPath == null) { continue; } Sprite asset = AssetDatabase.LoadAssetAtPath <Sprite>(assetPath); if (asset == null) { continue; } screenLogos.Add(PlayerSettings.SplashScreenLogo.Create(2f, asset)); } PlayerSettingsResolver.SetSplashScreen(screenLogos.ToArray()); AssetDatabase.SaveAssets(); AssetDatabase.Refresh(); Debug.Log("Set splash logos succeeded"); }
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"); }
public static void SetDefaultIcon() { 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 -> DefaultIconFilter、DefaultIconFilterSearchPath is error, Cannot set default icon"); return; } Debug.Log("Starting set default icon"); string filter = GlobalToolConfigure.Current.SDK.DefaultIconFilter; string filterSearchPath = BuildPipelineAsset.GetChannelFilterSearchPath(GlobalToolConfigure.Current.SDK.DefaultIconFilterSearchPath); 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} 下未找到匹配的资源, Icon设置失败", filterSearchPath)); return; } List <Texture2D> mTextures = new List <Texture2D>(); mTextures.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; } mTextures.Add(asset); } BuildTarget buildTarget = EditorUserBuildSettings.activeBuildTarget; BuildTargetGroup buildTargetGroup = BuildPipelineCommonTools.BuildUtils.GetBuildTargetGroup(buildTarget); int[] iconSize = PlayerSettings.GetIconSizesForTargetGroup(buildTargetGroup); Texture2D[] textureArray = new Texture2D[iconSize.Length]; for (int i = 0; i < textureArray.Length; i++) { textureArray[i] = mTextures[0]; } PlayerSettings.SetIconsForTargetGroup(buildTargetGroup, textureArray); AssetDatabase.SaveAssets(); AssetDatabase.Refresh(); Debug.Log("Set default icon succeeded"); //MethodInfo getIconFormPlatform = typeof(PlayerSettings).GetMethod("GetIconsForPlatform", BindingFlags.NonPublic | BindingFlags.Static); //MethodInfo getIconSizesForPlatform = typeof(PlayerSettings).GetMethod("GetIconSizesForPlatform", BindingFlags.NonPublic | BindingFlags.Static); //MethodInfo setIconsForPlatform = typeof(PlayerSettings).GetMethod("SetIconsForPlatform", BindingFlags.NonPublic | BindingFlags.Static); //Texture2D[] textureArray = (Texture2D[])getIconFormPlatform.Invoke(null, new object[] { string.Empty }); //var iconSizesForPlatform = (int[])getIconSizesForPlatform.Invoke(null, new object[] { string.Empty }); //if (textureArray.Length != iconSizesForPlatform.Length) //{ // textureArray = new Texture2D[iconSizesForPlatform.Length]; // setIconsForPlatform.Invoke(null, new object[] { string.Empty, textureArray }); //} //textureArray[0] = mTextures[0]; //setIconsForPlatform.Invoke(null, new object[] { string.Empty, textureArray }); //AssetDatabase.SaveAssets(); }