Sfoglia il codice sorgente

3dModeling buildingCreate.js 韩正义 commit at 2021-01-27

韩正义 4 anni fa
parent
commit
8137b8a9a3
1 ha cambiato i file con 116 aggiunte e 0 eliminazioni
  1. 116 0
      3dModeling/zyl281/buildingCreate.js

+ 116 - 0
3dModeling/zyl281/buildingCreate.js

@@ -221,3 +221,119 @@ function registerEvent() {
         if (!$(this).hasClass('active')) {
             $(this).find('.tooltiptext').css({ "visibility": "visible" });
         }
+    }, function () {
+        $(this).find('.tooltiptext').css({ "visibility": "hidden" });
+    });
+    // 进入层级事件
+    app.on(THING.EventType.EnterLevel, function (ev) {
+        stopRotate();
+        // 进入建筑层级
+        if (ev.object.type == 'Building') {
+            //清除设备列表和面板
+            _this.delMydiv();
+            _this.destroy_ui();
+            let floors = ev.object.floors;
+            if (floors.length > 1) {
+                building = ev.object;
+                addFloorPos(building);
+                let expandState = building.getAttribute('expandState');
+                if (expandState == null) {
+                    building.setAttribute('expandState', 'close');
+                }
+                $('#horizontalExpansion').css({ 'display': 'block' });
+                $('#verticalExpansion').css({ 'display': 'block' });
+            }
+        } else {
+            $('#horizontalExpansion').css({ 'display': 'none' });
+            $('#verticalExpansion').css({ 'display': 'none' });
+            // 进入园区层级
+            if (ev.object.type == 'Campus') {
+                if (building != null) {
+                    exitBuildingCloseFloor(building);
+                    $('#horizontalExpansion').removeClass('active');
+                    $('#verticalExpansion').removeClass('active');
+                    building = null;
+                }
+            }
+        }
+        if (skyBox != null) {
+            app.skyBox = skyBox;
+        }
+        // 重新创建小地图
+        if ($('#miniMap').hasClass('active')) {
+            destoryMiniMap();
+            createMiniMap();
+        }
+    });
+    // 行走按钮的鼠标点击事件
+    $('#moveByFps').on('click', function () {
+        stopRotate();
+        if ($(this).hasClass('active')) {
+            $(this).removeClass('active');
+            if (box != null) {
+                // 恢复默认双击进入层级事件
+                app.resumeEvent(THING.EventType.DBLClick, '*', THING.EventTag.LevelEnterOperation);
+                // 恢复默认右键退出层级事件
+                app.resumeEvent(THING.EventType.Click, '*', THING.EventTag.LevelBackOperation);
+                box.destroy();
+                box = null;
+            }
+            if (fpsCtrl != null) {
+                exitFps();
+            }
+        } else {
+            $(this).addClass('active');
+            // 禁用默认双击进入层级事件
+            app.pauseEvent(THING.EventType.DBLClick, '*', THING.EventTag.LevelEnterOperation);
+            // 禁用默认右键退出层级事件
+            app.pauseEvent(THING.EventType.Click, '*', THING.EventTag.LevelBackOperation);
+            // 记录摄像机当前位置
+            cameraInitPos = [app.camera.position, app.camera.target];
+            createBox();
+        }
+        checkBtnActives(['#mapBg', '#sceneSetting']);
+    });
+    // 全屏按钮的鼠标抬起事件
+    $('#fullScreen').mouseup(function () {
+        if (!fullScreenState) {
+            $('.btn-full-screen').css('display', 'none');
+            $('.btn-narrow').css('display', 'block');
+            $('#fullScreen span').text('退出全屏');
+            fullScreen();
+            fullScreenState = true;
+        } else {
+            $('.btn-full-screen').css('display', 'block');
+            $('.btn-narrow').css('display', 'none');
+            $('#fullScreen span').text('全屏');
+            exitFullScreen();
+            fullScreenState = false;
+            if ($('#mapBg').hasClass('active')) {
+                destoryMiniMap();
+                createMiniMap();
+            }
+        }
+        checkBtnActives(['#mapBg', '#sceneSetting']);
+    });
+    // 鼠标键按下事件,功能按钮隐藏
+    app.on(THING.EventType.MouseDown, function () {
+        app.pauseEvent(THING.EventType.CameraZoom, null, '摄像机前后滚动,功能图片隐藏');
+        if (showControlTimer != null) {
+            clearTimeout(showControlTimer);
+            showControlTimer = null;
+        }
+        stopRotate();
+        if (hiddenControlTimer == null) {
+            clearTimeout(showControlTimer);
+            hiddenControlTimer = setTimeout(function () {
+                $('#all-controls').css('display', 'none');
+                clearTimeout(hiddenControlTimer);
+                hiddenControlTimer = null;
+            }, 300);
+        }
+    });
+    // 鼠标键抬起事件,功能按钮显示
+    app.on(THING.EventType.MouseUp, function () {
+        app.resumeEvent(THING.EventType.CameraZoom, null, '摄像机前后滚动,功能图片隐藏');
+        if (hiddenControlTimer != null) {
+            clearTimeout(hiddenControlTimer);
+            hiddenControlTimer = null;