export_main.js 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  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. //设置程序时间倍率, float类型, 为0是静止, 为1是正常速度
  36. window.setUnityTimeScale = function (timeScale) {
  37. window.unityInstance.SendMessage('SceneLoader', 'SetTimeScale', timeScale)
  38. }
  39. //是否正在加载场景
  40. window.isLoadingScene = function () {
  41. return isLoadingScene
  42. }
  43. // 返回当前场景状态
  44. window.sceneStaRes = function () {
  45. return currentScene
  46. }