中化加油站项目
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

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;
}
}