Browse Source

所有设备高亮展示并隐藏相应遮挡物,完成

dev
刘向辉 3 years ago
parent
commit
0a9a816550
  1. 2
      src/app/babylon/model/info/model/model-info.ts
  2. 8
      src/app/babylon/view/building-window/building-window.ts
  3. 19
      src/app/babylon/view/facility-window/facility-window.ts
  4. 1
      src/app/babylon/view/toolbar-window/toobar-window.ts

2
src/app/babylon/model/info/model/model-info.ts

@ -145,7 +145,7 @@ export class ModelInfo {
if (this.modelBox != null) {
if (play) {
SceneManager.Instance.addToHighLight(this.modelBox as Mesh, Color3.Green());
console.log("高亮", this.modelBox.name);
}
else {
SceneManager.Instance.removeFromHighLight(this.modelBox as Mesh);

8
src/app/babylon/view/building-window/building-window.ts

@ -655,6 +655,7 @@ export class BuildingWindow extends UIBase {
if (this.facilitysByMoudle.has(type)) {
facilityByType = this.facilitysByMoudle.get(type);
}
console.log("显示设备", facilityByType);
for (let i = 0; i < facilityByType.length; i++) {
let infos = facilityByType[i].facilityInfo;
if (infos != null) {
@ -693,11 +694,11 @@ export class BuildingWindow extends UIBase {
/**
*
* @param moudleType
* @param moudleType
*/
initFacilityTypeByMoudleType(moudleType: JYZInfoMoudleType, buildingInfo: BuildingInfo) {
let moudleTypeKey = moudleType + "_"; //当前模块物体的特殊字段
let moudleTypeKey = moudleType; //当前模块物体的特殊字段
let zdKey = "ZD_" + moudleType; //阻挡类物体特殊字段
if (this.facilitysByMoudle.has(moudleType)) {
@ -721,7 +722,7 @@ export class BuildingWindow extends UIBase {
}
this.zdByMoudle.get(moudleType).push(l_facilityByType);
}
else if (TsTool.stringContain(l_facilityByType.type, moudleTypeKey)) {
else if (TsTool.stringContain(l_facilityByType.type, "_" + moudleTypeKey) || TsTool.stringContain(l_facilityByType.type, moudleTypeKey + "_")) {
this.facilitysByMoudle.get(moudleType).push(l_facilityByType);
}
}
@ -732,6 +733,7 @@ export class BuildingWindow extends UIBase {
* @param show false
*/
showZP(show: boolean) {
console.log("展示罩棚", show)
this.initFacilityTypeByMoudleType(JYZInfoMoudleType.ZP, this.currentBuidngItem.buildingInfo);
let zpInfoByTypes = this.facilitysByMoudle.get(JYZInfoMoudleType.ZP);
if (zpInfoByTypes != null) {

19
src/app/babylon/view/facility-window/facility-window.ts

@ -317,10 +317,11 @@ export class FacilityWindow extends UIBase {
createNewFacilityByMesh(mesh: AbstractMesh, type: FacilityType) {
let facilityData = this.createFacilityDataFromMesh(mesh, type);
//let facilityInfo = this.createFacilityInfoFromMesh(facilityData, mesh, buildingInfo);
console.log("获取到设备" + type, mesh);
if (!this.isRepeatFacilityFromMesh(type, mesh.id)) //不重复
{
console.log("获取到设备" + type, mesh);
this.createNewFacility(facilityData, mesh);
}
@ -641,21 +642,25 @@ export class FacilityWindow extends UIBase {
if (TsTool.stringContain(mesh.name, FacilityType.ZD_YG)) {
this.createNewFacilityByMesh(mesh, FacilityType.ZD_YG);
}
else if (TsTool.stringContain(mesh.name, FacilityType.ZD_SYGX)) {
if (TsTool.stringContain(mesh.name, FacilityType.ZD_SYGX)) {
this.createNewFacilityByMesh(mesh, FacilityType.ZD_SYGX);
}
else if (TsTool.stringContain(mesh.name, FacilityType.ZD_YQHSGX)) {
this.createNewFacilityByMesh(mesh, FacilityType.ZD_SYGX);
if (TsTool.stringContain(mesh.name, FacilityType.ZD_YQHSGX)) {
this.createNewFacilityByMesh(mesh, FacilityType.ZD_YQHSGX);
}
else if (TsTool.stringContain(mesh.name, FacilityType.ZD_XF)) {
if (TsTool.stringContain(mesh.name, FacilityType.ZD_XF)) {
this.createNewFacilityByMesh(mesh, FacilityType.ZD_XF);
}
else if (TsTool.stringContain(mesh.name, FacilityType.ZD_ZP)) {
if (TsTool.stringContain(mesh.name, FacilityType.ZD_ZP)) {
this.createNewFacilityByMesh(mesh, FacilityType.ZD_ZP);
}
}
/**
* mesh创建设备
* @param mesh
* @param type
*/
createFacilityDataFromMesh(mesh: AbstractMesh, type: FacilityType) {
let name = ConfigManager.getFacilityTypeName(type);
let result = new ModelData_facility(mesh.name, type, name, mesh.id, new TransformData(), FacilityPosType.In);

1
src/app/babylon/view/toolbar-window/toobar-window.ts

@ -115,6 +115,7 @@ export class ToolbarWindow extends UIBase {
* @param show false表示隐藏罩棚
*/
showZP(show: boolean) {
console.log("显示罩棚", show);
BuildingWindow.instance.showZP(show);
}

Loading…
Cancel
Save