|
|
|
@ -1,5 +1,6 @@
|
|
|
|
|
import { Observer, Scene, TransformNode } from "@babylonjs/core"; |
|
|
|
|
import { Button, Rectangle } from "@babylonjs/gui"; |
|
|
|
|
import { ConfigManager } from "src/app/babylon/controller/config-manager"; |
|
|
|
|
import { ModelChangeType } from "src/app/babylon/controller/data-manager"; |
|
|
|
|
import { Event_ModelInfoChange } from "src/app/babylon/controller/event-manager/events/event-modelinfo-change"; |
|
|
|
|
import { InfoManager } from "src/app/babylon/controller/info-manager"; |
|
|
|
@ -11,9 +12,11 @@ import { StatusManager } from "src/app/babylon/controller/status/status-manager"
|
|
|
|
|
import { BabylonUIStyleTool } from "src/app/babylon/tool/babylon-ui-style-tool"; |
|
|
|
|
import { GizmoTool } from "src/app/babylon/tool/gizmo-tool"; |
|
|
|
|
import { TsTool } from "src/app/babylon/tool/ts-tool"; |
|
|
|
|
import { FacilityWindow } from "src/app/babylon/view/facility-window/facility-window"; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import { BuildingType } from "../../data/institution/building/building-data"; |
|
|
|
|
import { FacilityPosType, ModelData_facility } from "../../data/model-data/model-data-facility"; |
|
|
|
|
import { ModelInfo_mark } from "../mark/model-info-mark"; |
|
|
|
|
import { ModelInfo } from "./model-info"; |
|
|
|
|
import { FacilityInfoByType, ModelInfo_facility } from "./model-info-facility"; |
|
|
|
@ -152,6 +155,24 @@ export class ModelInfo_building extends ModelInfo {
|
|
|
|
|
super.dispose(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 用户移除来自模型的设备 |
|
|
|
|
*/ |
|
|
|
|
clearFacilityFromMesh() { |
|
|
|
|
let infos = []; |
|
|
|
|
for (let i = 0; i < this.facilityInfos.length; i++) { |
|
|
|
|
if (ConfigManager.getPosType(this.facilityInfos[i].type) == FacilityPosType.In) { |
|
|
|
|
for (let j = 0; j < this.facilityInfos[i].facilityInfo.length; j++) { |
|
|
|
|
infos.push(this.facilityInfos[i].facilityInfo[j]); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
for (let i = 0; i < infos.length; i++) { |
|
|
|
|
FacilityWindow.instance.disposeFacility(infos[i]); |
|
|
|
|
} |
|
|
|
|
infos = []; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
//释放所有设备
|
|
|
|
|
disposeAllFacility() { |
|
|
|
|
ModeManager.log('释放室内设备' + this.facilityInfos.length); |
|
|
|
@ -197,9 +218,12 @@ export class ModelInfo_building extends ModelInfo {
|
|
|
|
|
InfoManager.removeFacilityInfoToTypeList(modelInfo_facility, this.facilityInfos); |
|
|
|
|
} |
|
|
|
|
Event_ModelInfoChange.dispatch(modelInfo_facility, ModelChangeType.Remove); |
|
|
|
|
if ((modelInfo_facility.modelData as ModelData_facility).posType == FacilityPosType.Out) { |
|
|
|
|
SceneManager.destroyModel(modelInfo_facility); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 设置显示状态 |
|
|
|
|
* @param enable true 为显示 |
|
|
|
|