WebGLSkipUnityLogo.cs 738 B

123456789101112131415161718192021222324252627282930
  1. #if !UNITY_EDITOR
  2. using UnityEngine;
  3. using UnityEngine.Rendering;
  4. public class WebGLSkipUnityLogo
  5. {
  6. [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSplashScreen)]
  7. private static void BeforeSplashScreen()
  8. {
  9. #if UNITY_WEBGL
  10. Application.focusChanged += Application_focusChanged;
  11. #else
  12. System.Threading.Tasks.Task.Run(AsyncSkip);
  13. #endif
  14. }
  15. #if UNITY_WEBGL
  16. private static void Application_focusChanged(bool obj)
  17. {
  18. Application.focusChanged -= Application_focusChanged;
  19. SplashScreen.Stop(SplashScreen.StopBehavior.StopImmediate);
  20. }
  21. #else
  22. private static void AsyncSkip()
  23. {
  24. SplashScreen.Stop(SplashScreen.StopBehavior.StopImmediate);
  25. }
  26. #endif
  27. }
  28. #endif