UnityProgress.js 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. function UnityProgress(unityInstance, progress) {
  2. if (!unityInstance.Module)
  3. return;
  4. if (!unityInstance.logo) {
  5. unityInstance.logo = document.createElement("div");
  6. unityInstance.logo.className = "logo " + unityInstance.Module.splashScreenStyle;
  7. unityInstance.container.appendChild(unityInstance.logo);
  8. }
  9. if (!unityInstance.progress) {
  10. unityInstance.progress = document.createElement("div");
  11. unityInstance.progress.className = "progress " + unityInstance.Module.splashScreenStyle;
  12. unityInstance.progress.empty = document.createElement("div");
  13. unityInstance.progress.empty.className = "empty";
  14. unityInstance.progress.appendChild(unityInstance.progress.empty);
  15. unityInstance.progress.full = document.createElement("div");
  16. unityInstance.progress.full.className = "full";
  17. unityInstance.progress.appendChild(unityInstance.progress.full);
  18. unityInstance.container.appendChild(unityInstance.progress);
  19. }
  20. unityInstance.progress.full.style.width = (100 * progress) + "%";
  21. unityInstance.progress.empty.style.width = (100 * (1 - progress)) + "%";
  22. if (progress == 1){
  23. unityInstance.logo.style.display = unityInstance.progress.style.display = "none";
  24. initVideo()
  25. }
  26. }
  27. function initVideo() {
  28. let ele = $('#fixVideo');
  29. let arr = Object.keys(configVideo)
  30. let current = 0
  31. let delay = 2
  32. setTimeout(() => {
  33. ele.show()
  34. ele.attr('src',arr[current] + '.mp4')
  35. ele.trigger('play')
  36. }, (configVideo[arr[current]]+delay)*1000);
  37. ele.bind('ended',()=>{
  38. ele.hide()
  39. if(current>arr.length-1){
  40. return
  41. }
  42. current++
  43. setTimeout(() => {
  44. ele.show()
  45. ele.attr('src',arr[current] + '.mp4')
  46. ele.trigger('play')
  47. }, configVideo[arr[current]]*1000);
  48. })
  49. }