export_main.js 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. let currentScene = 'TombstoneView'
  2. let isLoadingScene = false
  3. //场景加载进度回调
  4. window.loadSceneProgress = function (progress) {
  5. if (window.parent && window.parent !== window) {
  6. window.parent.unityLoading(Math.min(0.99, progress))
  7. }
  8. }
  9. //场景准备加载回调
  10. window.startLoadScene = function () {
  11. isLoadingScene = true
  12. }
  13. //场景已完成加载回调
  14. window.loadedScene = function () {
  15. isLoadingScene = false
  16. if (window.parent && window.parent !== window) {
  17. window.parent.unityLoading(1)
  18. }
  19. }
  20. //设置场景加载完毕时透明度渐变的时长(秒), 0为去除该效果
  21. window.setLoadSceneAnimationTime = function (animationTime) {
  22. window.unityInstance.SendMessage('SceneLoader', 'SetAnimationTime', animationTime)
  23. }
  24. //切换场景 场景支持以下参数 "TombstoneView" (一单元), "TransitionScene" (空场景), "RoomScene" (碑中世界), "DrawingBoard" (碑影智绘), 切换之前必须判断是否有场景正在加载
  25. window.loadScene = function (sceneName) {
  26. window.setLoadSceneAnimationTime(sceneName === 'DrawingBoard' ? 1 : 0)
  27. window.unityInstance.SendMessage('SceneLoader', 'LoadScene', sceneName)
  28. currentScene = sceneName
  29. window.onCancelDownload();
  30. }
  31. //设置懒惰模式, 设置后所有动画将会暂停, 切换场景不会重置, 所以在不需要懒惰模式的时候必须要切换回来, 默认为false
  32. window.setLazyMode = function (isLazyMode) {
  33. window.unityInstance.SendMessage('SceneLoader', 'SetLazyMode', isLazyMode ? 1 : 0)
  34. }
  35. //是否正在加载场景
  36. window.isLoadingScene = function () {
  37. return isLoadingScene
  38. }
  39. // 返回当前场景状态
  40. window.sceneStaRes = function () {
  41. return currentScene
  42. }