diff --git a/src/app/babylon/controller/info-manager.ts b/src/app/babylon/controller/info-manager.ts index c3746bf..c6beb2c 100644 --- a/src/app/babylon/controller/info-manager.ts +++ b/src/app/babylon/controller/info-manager.ts @@ -164,7 +164,6 @@ export class InfoManager { modelEditData: ModelEditData, buildingInfo: BuildingInfo = null ) { - console.trace("创建设备", buildingInfo); let facilities = modelEditData.facilities; @@ -176,11 +175,8 @@ export class InfoManager { let facilityData = facilities[i].facilities[j] if (facilityData.posType == FacilityPosType.In && buildingInfo.ModelInfo != null) { mesh = buildingInfo.ModelInfo.getChildrenByName(facilityData.resName); - console.log("内建模型找到", mesh); } - - FacilityWindow.instance.createFacility( modelEditData.facilities[i].facilities[j], false, diff --git a/src/app/babylon/controller/scene-manager.ts b/src/app/babylon/controller/scene-manager.ts index dd219a5..ed25a86 100644 --- a/src/app/babylon/controller/scene-manager.ts +++ b/src/app/babylon/controller/scene-manager.ts @@ -256,16 +256,18 @@ export class SceneManager { { mainTextureRatio: 1, }); - this.highLightLayer.innerGlow = false; + this.highLightLayer.innerGlow = true; + this.highLightLayer.outerGlow = true; + } let allMesh = mesh.getChildMeshes(); - this.highLightLayer.addMesh(mesh, color); allMesh.push(mesh); for (let i = 0; i < allMesh.length; i++) { let childMesh = allMesh[i]; if (childMesh instanceof Mesh) { this.highLightLayer.addMesh(childMesh, color); + this.highLightNum++; } } diff --git a/src/app/babylon/controller/status/building-status.ts b/src/app/babylon/controller/status/building-status.ts index 54bcaa9..a087bdd 100644 --- a/src/app/babylon/controller/status/building-status.ts +++ b/src/app/babylon/controller/status/building-status.ts @@ -137,9 +137,13 @@ export class BuildingStatus extends StatusBase { //判断已经有了就不创建了 // InfoManager.createFacilityInfos(buildingInfo.buildingData.outdoorData, buildingInfo); //显示 - this.buildingWindow.showFacilityInfosIcon(this.currentBuildingInfo, true); + //this.buildingWindow.showFacilityInfosIcon(this.currentBuildingInfo, true); } + this.buildingWindow.changeCurrentBuildingInfo(buildingInfo.ModelInfo); + + + } //模型变化 diff --git a/src/app/babylon/model/data/model-data/model-data-facility.ts b/src/app/babylon/model/data/model-data/model-data-facility.ts index d01fbfe..5fe89f2 100644 --- a/src/app/babylon/model/data/model-data/model-data-facility.ts +++ b/src/app/babylon/model/data/model-data/model-data-facility.ts @@ -246,11 +246,11 @@ export enum FacilityType { /** * 逃生路线 */ - XF_TSLX = "XF_TSLX", + AQSS_TSLX = "AQSS_TSLX", /** * 疏散点 */ - XF_SSD = "XF_SSD", + AQSS_SSD = "AQSS_SSD", /** * 罩棚 diff --git a/src/app/babylon/model/info/model/model-info-facility.ts b/src/app/babylon/model/info/model/model-info-facility.ts index 2057ec4..f39a964 100644 --- a/src/app/babylon/model/info/model/model-info-facility.ts +++ b/src/app/babylon/model/info/model/model-info-facility.ts @@ -92,6 +92,7 @@ export class ModelInfo_facility extends ModelInfo { }); this.uiFollowRoot.zIndex = BabylonUIStyleTool.c_zIndex_facilityIcon; + this.showFollowUI(false); } diff --git a/src/app/babylon/model/info/model/model-info.ts b/src/app/babylon/model/info/model/model-info.ts index 8c628ef..227a539 100644 --- a/src/app/babylon/model/info/model/model-info.ts +++ b/src/app/babylon/model/info/model/model-info.ts @@ -133,7 +133,6 @@ export class ModelInfo { showFollowUI(show: boolean) { if (this.uiFollowRoot != null) { this.uiFollowRoot.isVisible = show; - } } @@ -142,13 +141,13 @@ export class ModelInfo { * @param play false表示停止,并恢复正常 */ playShowAnim(play: boolean) { + this.showFollowUI(play); if (this.modelBox != null) { if (play) { - SceneManager.Instance.addToHighLight(this.modelBox as Mesh, Color3.Green()); + SceneManager.Instance.addToHighLight(this.modelBox as Mesh, Color3.Yellow()); } else { SceneManager.Instance.removeFromHighLight(this.modelBox as Mesh); - } } } diff --git a/src/app/babylon/view/building-window/building-window.ts b/src/app/babylon/view/building-window/building-window.ts index 2cc2a71..8d8c3b4 100644 --- a/src/app/babylon/view/building-window/building-window.ts +++ b/src/app/babylon/view/building-window/building-window.ts @@ -308,10 +308,13 @@ export class BuildingWindow extends UIBase { } } + console.log("选中建筑", modelInfo); + this.showJYZModules(JYZInfoMoudleType.AQSS, false); //this.onChangeCurrentBuildingItem(item); // this.three.selectLeftBuilding(item); + } /** @@ -593,6 +596,10 @@ export class BuildingWindow extends UIBase { if (TsTool.stringContain(nodeName, "primitive")) { //复合材质被分解为多个子mesh,不看做特殊意义的对象 } + else if (TsTool.stringContain(nodeName, this.c_zheDang))//遮挡 + { + this.currentBuidngItem.createStopByMesh(allNode[i]); + } else if (TsTool.stringContain(nodeName, this.c_xiaoFang)) //消防 { this.currentBuidngItem.createFacilityByMesh(allNode[i]); @@ -601,10 +608,7 @@ export class BuildingWindow extends UIBase { { this.currentBuidngItem.createOilingByMesh(allNode[i]); } - else if (TsTool.stringContain(nodeName, this.c_zheDang))//遮挡 - { - this.currentBuidngItem.createStopByMesh(allNode[i]); - } + } } @@ -659,14 +663,26 @@ export class BuildingWindow extends UIBase { if (infos != null) { for (let j = 0; j < infos.length; j++) { infos[j].playShowAnim(show); + //安全疏散,特殊,要在不显示时隐藏本体 + if (type == JYZInfoMoudleType.AQSS) { + infos[j].setEnable(show); + } } } } + + + + //阻挡类物体 let zdByType: FacilityInfoByType[] = []; if (this.zdByMoudle.has(type)) { zdByType = this.zdByMoudle.get(type); + console.log("查找阻挡物", type, zdByType); + } + else { + console.log("没找到阻挡物", type, zdByType); } for (let i = 0; i < zdByType.length; i++) { let infos = zdByType[i].facilityInfo; @@ -711,6 +727,17 @@ export class BuildingWindow extends UIBase { for (let i = 0; i < allFacilityByType.length; i++) { let l_facilityByType = allFacilityByType[i]; + + // if (moudleType == JYZInfoMoudleType.XF) //消防-逃生 + // { + // if (TsTool.stringContain(l_facilityByType.type, FacilityType.XF_TSLX)) { + // continue; + // } + // if (TsTool.stringContain(l_facilityByType.type, FacilityType.XF_SSD)) { + // continue; + // } + + // } if (TsTool.stringContain(l_facilityByType.type, zdKey)) { if (!this.zdByMoudle.has(moudleType)) { this.zdByMoudle.set(moudleType, []); @@ -748,8 +775,8 @@ export class BuildingWindow extends UIBase { getUVMat(facilityType: FacilityType, mesh: AbstractMesh) { let moudleType: JYZInfoMoudleType = null; switch (facilityType) { - case FacilityType.XF_TSLX: - moudleType = JYZInfoMoudleType.TSLX; + case FacilityType.AQSS_TSLX: + moudleType = JYZInfoMoudleType.AQSS; break; case FacilityType.JY_SYGX: moudleType = JYZInfoMoudleType.SYG; @@ -843,9 +870,9 @@ export enum JYZInfoMoudleType { */ YQHSGX = "YQHSGX", /** - * 逃生路线 + * 安全疏散 */ - TSLX = "TSLX", + AQSS = "AQSS", /** * 罩棚 diff --git a/src/app/babylon/view/facility-window/facility-window.ts b/src/app/babylon/view/facility-window/facility-window.ts index adf86a6..fafdc00 100644 --- a/src/app/babylon/view/facility-window/facility-window.ts +++ b/src/app/babylon/view/facility-window/facility-window.ts @@ -587,11 +587,11 @@ export class FacilityWindow extends UIBase { else if (TsTool.stringContain(mesh.name, FacilityType.XF_MHT)) { this.createNewFacilityByMesh(mesh, FacilityType.XF_MHT); } - else if (TsTool.stringContain(mesh.name, FacilityType.XF_SSD)) { - this.createNewFacilityByMesh(mesh, FacilityType.XF_SSD); + else if (TsTool.stringContain(mesh.name, FacilityType.AQSS_SSD)) { + this.createNewFacilityByMesh(mesh, FacilityType.AQSS_SSD); } - else if (TsTool.stringContain(mesh.name, FacilityType.XF_TSLX)) { - this.createNewFacilityByMesh(mesh, FacilityType.XF_TSLX); + else if (TsTool.stringContain(mesh.name, FacilityType.AQSS_TSLX)) { + this.createNewFacilityByMesh(mesh, FacilityType.AQSS_TSLX); } else if (TsTool.stringContain(mesh.name, FacilityType.XF_XFCM)) { this.createNewFacilityByMesh(mesh, FacilityType.XF_XFCM); @@ -617,19 +617,19 @@ export class FacilityWindow extends UIBase { createOilingByMesh(mesh: AbstractMesh) { if (TsTool.stringContain(mesh.name, FacilityType.JY_JYJ)) { - console.log("找到加油机", mesh) + // console.log("找到加油机", mesh) this.createNewFacilityByMesh(mesh, FacilityType.JY_JYJ); } else if (TsTool.stringContain(mesh.name, FacilityType.JY_SYGX)) { - console.log("找到输油管线", mesh) + // console.log("找到输油管线", mesh) this.createNewFacilityByMesh(mesh, FacilityType.JY_SYGX); } else if (TsTool.stringContain(mesh.name, FacilityType.JY_YG)) { - console.log("找到油罐", mesh) + // console.log("找到油罐", mesh) this.createNewFacilityByMesh(mesh, FacilityType.JY_YG); } else if (TsTool.stringContain(mesh.name, FacilityType.JY_YQHSGX)) { - console.log("找到油气回收", mesh) + // console.log("找到油气回收", mesh) this.createNewFacilityByMesh(mesh, FacilityType.JY_YQHSGX); } } @@ -649,6 +649,7 @@ export class FacilityWindow extends UIBase { this.createNewFacilityByMesh(mesh, FacilityType.ZD_YQHSGX); } if (TsTool.stringContain(mesh.name, FacilityType.ZD_XF)) { + console.log("找到消防阻挡物", mesh.name); this.createNewFacilityByMesh(mesh, FacilityType.ZD_XF); } if (TsTool.stringContain(mesh.name, FacilityType.ZD_ZP)) { diff --git a/src/app/pages/plan/plan.component.ts b/src/app/pages/plan/plan.component.ts index c1e90c3..fceba58 100644 --- a/src/app/pages/plan/plan.component.ts +++ b/src/app/pages/plan/plan.component.ts @@ -127,7 +127,7 @@ export class PlanComponent implements OnInit { } else if (type === 3) { fenceType = JYZInfoMoudleType.XF } else if (type === 4) { - fenceType = JYZInfoMoudleType.TSLX + fenceType = JYZInfoMoudleType.AQSS } else if (type === 5) { fenceType = JYZInfoMoudleType.SYG } else if (type === 6) {