xzw 3 years ago
parent
commit
44371ec55b
2 changed files with 76 additions and 16 deletions
  1. 1 1
      js/main_2020_edit.js
  2. 75 15
      js/main_2020_show.js

+ 1 - 1
js/main_2020_edit.js

@@ -14340,7 +14340,7 @@ function o(a, s, l) {
                     e.level = L.logLevel,
                     e.level = L.logLevel,
                     e.consoleEnabled = L.console,
                     e.consoleEnabled = L.console,
                     function() {
                     function() {
-                        var e = k.getModelIDFromQueryString();
+                        var e =   window.number//k.getModelIDFromQueryString();
                         if (!e)
                         if (!e)
                             return A(null, "loading-failed");
                             return A(null, "loading-failed");
                         var t = k.parseSidUrl(e)
                         var t = k.parseSidUrl(e)

+ 75 - 15
js/main_2020_show.js

@@ -9427,21 +9427,27 @@ window.Modernizr = function(n, e, t) {
               , y = ["vr_modal_learn_more", "vr_modal_next", "vr_modal_done"];
               , y = ["vr_modal_learn_more", "vr_modal_next", "vr_modal_done"];
             s === m.IOS && (u.splice(1, 1),
             s === m.IOS && (u.splice(1, 1),
             y.splice(1, 1)),
             y.splice(1, 1)),
+            
+            
+            
             $("#vr").on("click", function(e) {
             $("#vr").on("click", function(e) {
                 e.preventDefault();
                 e.preventDefault();
-                if(!window.vrEnabled) {  // 开启VR
-                    window.vrEnabled = true;
-                    this.classList.add('active');
-                    $('#gui div').not('#vrOff').addClass('vrHide');
-                    $('#vrOffImg').css({'display':'inline-block'});
-                }else{
-                    
-                }
-                // T.hasClass("fadeIn") ? K.dismiss() : (b = 0,
-                // r(b),
-                // T.addClass("fadeIn"),
-                // K.emit(A.OPENED))
+                
+                player.FlyToMode("panorama", ()=>{
+                    if(!window.vrEnabled) {  // 开启VR 
+                        window.vrEnabled = true;
+                        this.classList.add('active');
+                        $('#gui div').not('#vrOff').addClass('vrHide');
+                        $('#vrOffImg').css({'display':'inline-block'});
+                    }else{
+                        
+                    } 
+                })  
+ 
             });
             });
+            
+            
+            
             $('#vrOff').on('click', function(){
             $('#vrOff').on('click', function(){
                 window.vrEnabled = false;
                 window.vrEnabled = false;
                 $('#gui div').not('#vrOff').removeClass('vrHide');
                 $('#gui div').not('#vrOff').removeClass('vrHide');
@@ -9449,6 +9455,9 @@ window.Modernizr = function(n, e, t) {
                 $('#player canvas').css({width:'', 'height': ''});    // 清楚vr下给canvas设置的宽高, 避免横竖屏切换的时候出现宽高错误的现象
                 $('#player canvas').css({width:'', 'height': ''});    // 清楚vr下给canvas设置的宽高, 避免横竖屏切换的时候出现宽高错误的现象
                 $('#vr').removeClass('active');        // 清除vr按钮的激活样式
                 $('#vr').removeClass('active');        // 清除vr按钮的激活样式
             })
             })
+            
+            
+            
             var I = "https://my.port.com/vr/show/?m=" + e.sid;
             var I = "https://my.port.com/vr/show/?m=" + e.sid;
             s === m.IOS ? $(".cardboardLink").on("click", i.bind(this, g.CardboardIOS)) : $(".cardboardLink").on("click", i.bind(this, g.CardboardAndroid)),
             s === m.IOS ? $(".cardboardLink").on("click", i.bind(this, g.CardboardIOS)) : $(".cardboardLink").on("click", i.bind(this, g.CardboardAndroid)),
             $(".gearLink").on("click", i.bind(this, g.GearVR)),
             $(".gearLink").on("click", i.bind(this, g.GearVR)),
@@ -14741,7 +14750,7 @@ window.Modernizr = function(n, e, t) {
 			
 			
 			function StartLoad(){//当加载完data后
 			function StartLoad(){//当加载完data后
 				function i() {
 				function i() {
-					var e = Y.getModelIDFromQueryString();
+					var e =  window.number//Y.getModelIDFromQueryString();
 					if (!e)
 					if (!e)
 						return b(null, "loading-failed");
 						return b(null, "loading-failed");
 					var t = Y.parseSidUrl(e)
 					var t = Y.parseSidUrl(e)
@@ -21955,6 +21964,7 @@ window.Modernizr = function(n, e, t) {
                 this.tileDownloader.tilePrioritizer = new P(this.qualityManager,this.basePanoSize,this.standardPanoSize,this.highPanoSize,this.ultraHighPanoSize),
                 this.tileDownloader.tilePrioritizer = new P(this.qualityManager,this.basePanoSize,this.standardPanoSize,this.highPanoSize,this.ultraHighPanoSize),
                 this.bindEvents(e.container),
                 this.bindEvents(e.container),
                 this.updateModel()
                 this.updateModel()
+                this.modeTran = ''
             }
             }
 			 
 			 
 			
 			
@@ -22642,6 +22652,9 @@ window.Modernizr = function(n, e, t) {
                 this.transitionPos({type:"beforeFlytopano", pano:this.currentPano, dur:0})
                 this.transitionPos({type:"beforeFlytopano", pano:this.currentPano, dur:0})
                 this.updateHotVisible()
                 this.updateHotVisible()
                 Hot.updateVisibles([this.currentPano])
                 Hot.updateVisibles([this.currentPano])
+                this.modeTran = "panorama-panorama"
+                
+                
                 
                 
                 return this.mode = u.PANORAMA,
                 return this.mode = u.PANORAMA,
                 e.floor.enter(this.mode),
                 e.floor.enter(this.mode),
@@ -23702,7 +23715,42 @@ window.Modernizr = function(n, e, t) {
                     
                     
                     
                     
                     
                     
-            
+            /* 
+                切换到某个模式后再执行函数
+             */
+            n.prototype.FlyToMode = function(mode, f1, duration){ 
+                var f2;
+                if (this.mode == mode) {
+                    f1 && f1()
+                } else {   
+                    f2 = f1; 
+                     
+                    if (this.mode == "transitioning" && this.modeTran.split('-')[1] != mode) {//正飞向其他模式,就要先飞完再飞进来然后执行
+                         this.afterCModeFuc = function() {
+                            /* objects.gui.modeChange[mode](null, {
+                                fuc: f2		这个写法会使得先添加的回调fuc取代之后添加的afterCModeFuc,所以统一改为afterCModeFuc
+                            }); */  
+                            this.afterCModeFuc = f2
+                            this.flyToNewMode({mode:mode, pano: mode == "panorama" && this.currentPano,
+                                //callback : f2   
+                            });
+                            
+                     
+                            //这个fuc在trainsitioning状态下传入是无效的,所以后面得用afterCModeFuc。但是执行完afterCModeFuc,afterCModeFuc会变为null,所以里面得用fuc。。orz
+                        }.bind(this)
+                    } else {
+                        if(this.afterCModeFuc)console.log("已经有afterCModeFuc了!!!!!!!!!!!!!!!")
+                        this.afterCModeFuc = f2;//飞入后执行 
+                        try{	//在场景刚开始加载 control还没建好时这句可能会报错所以用try。  不用callback而用	afterCModeFuc也是这个原因,因为会有别的函数可以飞入然后执行它
+                            this.flyToNewMode({mode:mode, pano: mode == "panorama" && this.currentPano, duration:duration});
+                        }catch(e){
+                            console.log('FlyToMode遇到问题?')
+                        }
+                        
+                        
+                    }
+                }
+            }
             
             
             
             
             n.prototype.fastForwardActivePanoFlight = function(e) {
             n.prototype.fastForwardActivePanoFlight = function(e) {
@@ -24007,6 +24055,9 @@ window.Modernizr = function(n, e, t) {
                 
                 
                 
                 
                  //before fly---------------------
                  //before fly---------------------
+                 
+                this.modeTran = p + "-" + i;  //add
+                 
                 if(this.mode == "panorama"){ 
                 if(this.mode == "panorama"){ 
                     if(this.model.floorLogos){
                     if(this.model.floorLogos){
                         this.model.floorLogos[0].visible = false;
                         this.model.floorLogos[0].visible = false;
@@ -24123,6 +24174,14 @@ window.Modernizr = function(n, e, t) {
                         this.model.floorLogos[0].visible = true
                         this.model.floorLogos[0].visible = true
                     )
                     )
                     
                     
+                    if (this.afterCModeFuc) {
+                        //手动加的函数
+                        var cf = this.afterCModeFuc;
+                        this.afterCModeFuc = null;//因为可能在执行afterCModeFuc时需要再添加afterCModeFuc所以要置空的话提前
+                        cf(); 
+                    }
+                    
+                    
                     if(this.mode == u.PANORAMA){ 
                     if(this.mode == u.PANORAMA){ 
                         Hot.updateVisibles([this.currentPano])
                         Hot.updateVisibles([this.currentPano])
                     }else{ 
                     }else{ 
@@ -30944,7 +31003,8 @@ window.Modernizr = function(n, e, t) {
                 var n = i[1];
                 var n = i[1];
                 return "boolean" == typeof t ? "true" === n || "1" === n : "number" == typeof t ? parseFloat(n) : n
                 return "boolean" == typeof t ? "true" === n || "1" === n : "number" == typeof t ? parseFloat(n) : n
             },
             },
-            valueFromHash: function(e, t) {
+            valueFromHash: function(e, t) { 
+                
                 var i = new RegExp("[#&?]" + e + "=([^#&?]*)")
                 var i = new RegExp("[#&?]" + e + "=([^#&?]*)")
                   , n = i.exec(window.location.href);
                   , n = i.exec(window.location.href);
                 if (!n)
                 if (!n)