diff --git a/src/app/babylon/view/building-window/building-window.ts b/src/app/babylon/view/building-window/building-window.ts index 4ef7789..f93b102 100644 --- a/src/app/babylon/view/building-window/building-window.ts +++ b/src/app/babylon/view/building-window/building-window.ts @@ -1,8 +1,10 @@ import { AbstractMesh, Material, Mesh, PBRMaterial, Texture } from "@babylonjs/core"; import { PlanComponent } from "src/app/pages/plan/plan.component"; +import { ConfigManager } from "../../controller/config-manager"; import { DataManager } from "../../controller/data-manager"; import { InfoManager } from "../../controller/info-manager"; +import { ModeManager, ModeType } from "../../controller/mode-manager"; import { SceneManager } from "../../controller/scene-manager"; import { ServeManager } from "../../controller/serve-manager"; import { BuildingStatus } from "../../controller/status/building-status"; @@ -10,7 +12,7 @@ import { StatusManager } from "../../controller/status/status-manager"; import { BuildingData, BuildingData_ChemicalPlant, BuildingData_Environment, BuildingData_Normal, BuildingType } from "../../model/data/institution/building/building-data"; import { JYZInfoMoudleType, JYZShowData } from "../../model/data/institution/jyz-show-data"; import { ModelType } from "../../model/data/model-data/model-data"; -import { FacilityType } from "../../model/data/model-data/model-data-facility"; +import { FacilityPosType, FacilityType } from "../../model/data/model-data/model-data-facility"; import { ModelEditData } from "../../model/data/model-data/model-edit-data"; import { BuildingInfo } from "../../model/info/building/building-info"; import { BuildingInfo_ChemicalPlant } from "../../model/info/building/building-info-chemicalplant"; @@ -774,7 +776,31 @@ export class BuildingWindow extends UIBase { let moudleTypeKey = moudleType; //当前模块物体的特殊字段 let zdKey = "ZD_" + moudleType; //阻挡类物体特殊字段 - if (this.facilitysByMoudle.has(moudleType)) { + //编辑模式下,基本信息下的设备会随时变化 + if (moudleType == JYZInfoMoudleType.JBXX && ModeManager.currentMode == ModeType.Edit) { + if (this.facilitysByMoudle.has(moudleType)) { + this.facilitysByMoudle.get(moudleType).length = 0; + } + else { + this.facilitysByMoudle.set(moudleType, []); + } + + + let allFacilityByType = buildingInfo.ModelInfo.facilityInfos; + if (allFacilityByType == null) { + return; //没有设备 + } + + for (let i = 0; i < allFacilityByType.length; i++) { + let l_facilityByType = allFacilityByType[i]; + if (ConfigManager.getPosType(l_facilityByType.type) == FacilityPosType.Out) { + this.facilitysByMoudle.get(moudleType).push(l_facilityByType); + } + } + + + } + else if (this.facilitysByMoudle.has(moudleType)) { //已经初始化过了 return; } @@ -790,17 +816,7 @@ 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 (TsTool.stringContain(l_facilityByType.type, zdKey)) { //遮挡物 if (!this.zdByMoudle.has(moudleType)) { this.zdByMoudle.set(moudleType, []); } @@ -809,6 +825,7 @@ export class BuildingWindow extends UIBase { else if (TsTool.stringContain(l_facilityByType.type, "_" + moudleTypeKey) || TsTool.stringContain(l_facilityByType.type, moudleTypeKey + "_")) { this.facilitysByMoudle.get(moudleType).push(l_facilityByType); } + } } diff --git a/src/assets/images/facility/out/DWBZ.png b/src/assets/images/facility/out/DWBZ.png index 8424018..bbc7d50 100644 Binary files a/src/assets/images/facility/out/DWBZ.png and b/src/assets/images/facility/out/DWBZ.png differ diff --git a/src/assets/images/facility/out/PL.png b/src/assets/images/facility/out/PL.png index 96be52e..9e82a04 100644 Binary files a/src/assets/images/facility/out/PL.png and b/src/assets/images/facility/out/PL.png differ diff --git a/src/assets/images/facility/out/QY.png b/src/assets/images/facility/out/QY.png index 20c9871..81b25dc 100644 Binary files a/src/assets/images/facility/out/QY.png and b/src/assets/images/facility/out/QY.png differ diff --git a/src/assets/images/facility/out/TPBZ.png b/src/assets/images/facility/out/TPBZ.png index 48a05d6..7494541 100644 Binary files a/src/assets/images/facility/out/TPBZ.png and b/src/assets/images/facility/out/TPBZ.png differ