You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
78 lines
4.3 KiB
78 lines
4.3 KiB
import { Type } from 'class-transformer'; |
|
import { ConfigManager } from 'src/assets/babylon/controller/config-manager'; |
|
import { DataManager } from 'src/assets/babylon/controller/data-manager'; |
|
|
|
import { FacilityPosType, FacilityType, ModelData_facility } from '../../model-data/model-data-facility'; |
|
import { TransformData } from '../../transform-data'; |
|
|
|
//所有设备数据 |
|
export class AllFacilityData { |
|
@Type(() => ModelData_facility) |
|
indoor: ModelData_facility[] = []; //室内 |
|
@Type(() => ModelData_facility) |
|
outdoor: ModelData_facility[] = []; //室外 |
|
|
|
/**捏造所有消防设施的源数据 */ |
|
static CreateAllFacilityData(): AllFacilityData { |
|
let result = new AllFacilityData(); |
|
|
|
AllFacilityData.newFacilityData(FacilityType.AQCK, FacilityPosType.Outdoor, result); |
|
AllFacilityData.newFacilityData(FacilityType.DSXHS, FacilityPosType.Outdoor, result); |
|
AllFacilityData.newFacilityData(FacilityType.DXXHS, FacilityPosType.Outdoor, result); |
|
AllFacilityData.newFacilityData(FacilityType.SZDSXHS, FacilityPosType.Outdoor, result); |
|
AllFacilityData.newFacilityData(FacilityType.SZDXXHS, FacilityPosType.Outdoor, result); |
|
AllFacilityData.newFacilityData(FacilityType.DSSBJHQ, FacilityPosType.Outdoor, result); |
|
AllFacilityData.newFacilityData(FacilityType.DXSBJHQ, FacilityPosType.Outdoor, result); |
|
AllFacilityData.newFacilityData(FacilityType.QBSBJHQ, FacilityPosType.Outdoor, result); |
|
AllFacilityData.newFacilityData(FacilityType.DGNSBJHQ, FacilityPosType.Outdoor, result); |
|
AllFacilityData.newFacilityData(FacilityType.GD, FacilityPosType.Outdoor, result, false); |
|
AllFacilityData.newFacilityData(FacilityType.PL, FacilityPosType.Outdoor, result); |
|
AllFacilityData.newFacilityData(FacilityType.JTQ, FacilityPosType.Outdoor, result, false); |
|
AllFacilityData.newFacilityData(FacilityType.JJQ, FacilityPosType.Outdoor, result, false); |
|
AllFacilityData.newFacilityData(FacilityType.TPBZ, FacilityPosType.Outdoor, result, true); |
|
|
|
AllFacilityData.newFacilityData(FacilityType.XKS, FacilityPosType.Indoor, result, false); |
|
AllFacilityData.newFacilityData(FacilityType.BF, FacilityPosType.Indoor, result, false); |
|
AllFacilityData.newFacilityData(FacilityType.SX, FacilityPosType.Indoor, result, false); |
|
AllFacilityData.newFacilityData(FacilityType.LSXFB, FacilityPosType.Indoor, result); |
|
AllFacilityData.newFacilityData(FacilityType.WSXFB, FacilityPosType.Indoor, result); |
|
AllFacilityData.newFacilityData(FacilityType.CYXFB, FacilityPosType.Indoor, result); |
|
AllFacilityData.newFacilityData(FacilityType.FHFQ, FacilityPosType.Indoor, result, false); |
|
AllFacilityData.newFacilityData(FacilityType.SNXHS, FacilityPosType.Indoor, result); |
|
AllFacilityData.newFacilityData(FacilityType.FHM, FacilityPosType.Indoor, result, false); |
|
AllFacilityData.newFacilityData(FacilityType.FHJL, FacilityPosType.Indoor, result, false); |
|
AllFacilityData.newFacilityData(FacilityType.SSLT, FacilityPosType.Indoor, result, false); |
|
AllFacilityData.newFacilityData(FacilityType.XFDT, FacilityPosType.Indoor, result, false); |
|
AllFacilityData.newFacilityData(FacilityType.PTDT, FacilityPosType.Indoor, result, false); |
|
AllFacilityData.newFacilityData(FacilityType.HT, FacilityPosType.Indoor, result, false); |
|
AllFacilityData.newFacilityData(FacilityType.WXY, FacilityPosType.Public, result); |
|
AllFacilityData.newFacilityData(FacilityType.ZDQY, FacilityPosType.Public, result); |
|
AllFacilityData.newFacilityData(FacilityType.DWBZ, FacilityPosType.Public, result); |
|
return result; |
|
|
|
} |
|
|
|
//新建设备信息 |
|
static newFacilityData(type: FacilityType, posType: FacilityPosType, allFacilityData: AllFacilityData, isModel: boolean = true): ModelData_facility { |
|
let name = ConfigManager.getFacilityTypeName(type); |
|
let result = new ModelData_facility(type.toString(), type, name, DataManager.getResName_facility(type) + ".gltf", new TransformData(), posType, isModel); |
|
switch (posType) { |
|
case FacilityPosType.Outdoor: |
|
allFacilityData.outdoor.push(result); |
|
break; |
|
case FacilityPosType.Indoor: |
|
allFacilityData.indoor.push(result); |
|
break; |
|
case FacilityPosType.Public: |
|
allFacilityData.outdoor.push(result); |
|
allFacilityData.indoor.push(result); |
|
break; |
|
} |
|
return result; |
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|