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.
598 lines
7.4 KiB
598 lines
7.4 KiB
3 years ago
|
import { Type } from "class-transformer";
|
||
|
import { ConfigManager } from "src/assets/babylon/controller/config-manager";
|
||
|
|
||
|
import { ModelData } from "../model-data/model-data";
|
||
|
import { TransformData } from "../transform-data";
|
||
|
import { MarkProperty } from "./mark-property";
|
||
|
|
||
|
/**
|
||
|
* 标绘数据
|
||
|
*/
|
||
|
export class MarkData extends ModelData {
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
/**
|
||
|
* 名称类型,标志其具体是什么
|
||
|
*/
|
||
|
type: MarkType = MarkType.SYA;
|
||
|
|
||
|
/**
|
||
|
* 所属标签的tag
|
||
|
*/
|
||
|
tagPos: MarkTagPos = MarkTagPos.Disaster;
|
||
|
|
||
|
/**
|
||
|
* 标记的类型划分
|
||
|
* 包括:人、车、物、虚拟物、特效
|
||
|
*/
|
||
|
markKindType: MarkKindType = MarkKindType.Persion;
|
||
|
|
||
|
/**
|
||
|
* 图标地址
|
||
|
*/
|
||
|
iconURL: string;
|
||
|
|
||
|
/**
|
||
|
* 所属建筑
|
||
|
*/
|
||
|
belongtoBuildingId: string;
|
||
|
|
||
|
/**
|
||
|
* 属性
|
||
|
*/
|
||
|
@Type(() => MarkProperty)
|
||
|
property: MarkProperty;
|
||
|
|
||
|
/**
|
||
|
* 子节点信息(用于保存子节点变换信息,完成举臂等功能)
|
||
|
*/
|
||
|
@Type(() => ChildNodeData)
|
||
|
childrenNodeData: ChildNodeData[] = [];
|
||
|
|
||
|
/**
|
||
|
* 水枪特效强度
|
||
|
*/
|
||
|
waterPower: number = 20;
|
||
|
|
||
|
|
||
|
constructor(id: string, type: MarkType, tagPos: MarkTagPos, markKindType: MarkKindType, iconURL: string, resPath: string, resName: string, taskType: MarkTask, isModel: boolean) {
|
||
|
super(id, ConfigManager.getMarkName(type), resPath, resName, undefined, isModel)
|
||
|
this.name = ConfigManager.getMarkName(type);
|
||
|
this.type = type;
|
||
|
this.tagPos = tagPos;
|
||
|
this.markKindType = markKindType;
|
||
|
this.iconURL = iconURL;
|
||
|
|
||
|
let defaultTask: string = undefined;
|
||
|
if (type == MarkType.WZ) {
|
||
|
defaultTask = "文字信息";
|
||
|
}
|
||
|
|
||
|
this.property = new MarkProperty(taskType, undefined, undefined, defaultTask);
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 子节点数据
|
||
|
*/
|
||
|
export class ChildNodeData {
|
||
|
/**
|
||
|
* 子节点名称
|
||
|
*/
|
||
|
name: string;
|
||
|
|
||
|
/**
|
||
|
* 变换信息
|
||
|
*/
|
||
|
@Type(() => TransformData)
|
||
|
transformData: TransformData = new TransformData();
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 所属标签的tag
|
||
|
*/
|
||
|
export enum MarkTagPos {
|
||
|
/**
|
||
|
* 灾情
|
||
|
*/
|
||
|
Disaster = "Disaster",
|
||
|
|
||
|
/**
|
||
|
* 消防力量
|
||
|
*/
|
||
|
FireFighting = "FireFighting",
|
||
|
|
||
|
/**
|
||
|
* 联动力量
|
||
|
*/
|
||
|
Linkage = "Linkage",
|
||
|
|
||
|
/**
|
||
|
* 内部力量
|
||
|
*/
|
||
|
Inside = "Inside",
|
||
|
|
||
|
/**
|
||
|
* 标绘工具
|
||
|
*/
|
||
|
Tool = "Tool",
|
||
|
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 标绘的分类类型
|
||
|
*/
|
||
|
export enum MarkKindType {
|
||
|
/**
|
||
|
* 人
|
||
|
*/
|
||
|
Persion = "Persion",
|
||
|
|
||
|
/**
|
||
|
* 车
|
||
|
*/
|
||
|
Car = "Car",
|
||
|
|
||
|
/**
|
||
|
* 物品
|
||
|
*/
|
||
|
Goods = "Goods",
|
||
|
|
||
|
/**
|
||
|
* 虚拟物,如: 箭头、文字标记类
|
||
|
*/
|
||
|
Virtual = "Virtual",
|
||
|
|
||
|
/**
|
||
|
* 特效
|
||
|
*/
|
||
|
Effect = "Effect",
|
||
|
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 标绘的名称类型
|
||
|
* 每个标会类型id
|
||
|
*/
|
||
|
export enum MarkType {
|
||
|
|
||
|
//============灾情设定===============
|
||
|
/**
|
||
|
* 伤员A
|
||
|
*/
|
||
|
SYA = "SYA",
|
||
|
/**
|
||
|
* 伤员B
|
||
|
*/
|
||
|
SYB = "SYB",
|
||
|
/**
|
||
|
* 伤员C
|
||
|
*/
|
||
|
SYC = "SYC",
|
||
|
/**
|
||
|
* 伤员D
|
||
|
*/
|
||
|
SYD = "SYD",
|
||
|
|
||
|
/**
|
||
|
* 知情人
|
||
|
*/
|
||
|
ZQR = "ZQR",
|
||
|
|
||
|
/**
|
||
|
* 危险品
|
||
|
*/
|
||
|
WXP = "WXP",
|
||
|
|
||
|
/**
|
||
|
* 杂物堆
|
||
|
*/
|
||
|
ZWD = "ZWD",
|
||
|
|
||
|
/**
|
||
|
* 破拆点
|
||
|
*/
|
||
|
PCD = "PCD",
|
||
|
|
||
|
/**
|
||
|
* 火
|
||
|
*/
|
||
|
H = "H",
|
||
|
|
||
|
/**
|
||
|
* 突破火
|
||
|
*/
|
||
|
TPH = "TPH",
|
||
|
|
||
|
/**
|
||
|
* 室内火
|
||
|
*/
|
||
|
SNH = "SNH",
|
||
|
|
||
|
/**
|
||
|
* 烟雾A
|
||
|
*/
|
||
|
YWA = "YWA",
|
||
|
|
||
|
/**
|
||
|
* 烟雾B
|
||
|
*/
|
||
|
YWB = "YWB",
|
||
|
|
||
|
/**
|
||
|
* 烟雾C
|
||
|
*/
|
||
|
YWC = "YWC",
|
||
|
|
||
|
//==================消防力量================
|
||
|
|
||
|
/**
|
||
|
* 灭火服
|
||
|
*/
|
||
|
MHF = "MHF",
|
||
|
|
||
|
/**
|
||
|
* 救援服
|
||
|
*/
|
||
|
JYF = "JYF",
|
||
|
|
||
|
/**
|
||
|
* 隔热服
|
||
|
*/
|
||
|
GRF = "GRF",
|
||
|
|
||
|
/**
|
||
|
* 防化服
|
||
|
*/
|
||
|
FHF = "FHF",
|
||
|
|
||
|
/**
|
||
|
* 避火服
|
||
|
*/
|
||
|
BHF = "BHF",
|
||
|
|
||
|
/**
|
||
|
* 义务消防员
|
||
|
*/
|
||
|
YWXFY = "YWXFY",
|
||
|
|
||
|
/**
|
||
|
* 安全哨
|
||
|
*/
|
||
|
AQS = "AQS",
|
||
|
|
||
|
/**
|
||
|
* 摩托车
|
||
|
*/
|
||
|
MTC = "MTC",
|
||
|
|
||
|
/**
|
||
|
* 巡逻车
|
||
|
*/
|
||
|
XLC = "XLC",
|
||
|
|
||
|
/**
|
||
|
* 水罐车
|
||
|
*/
|
||
|
SGC = "SGC",
|
||
|
|
||
|
/**
|
||
|
* 泡沫车
|
||
|
*/
|
||
|
PMC = "PMC",
|
||
|
|
||
|
/**
|
||
|
* 高喷车
|
||
|
*/
|
||
|
GPC = "GPC",
|
||
|
|
||
|
/**
|
||
|
* 登高平台车
|
||
|
*/
|
||
|
DGPTC = "DGPTC",
|
||
|
|
||
|
/**
|
||
|
* 云梯车
|
||
|
*/
|
||
|
YTC = "YTC",
|
||
|
|
||
|
/**
|
||
|
* 抢险救援车
|
||
|
*/
|
||
|
QXJYC = "QXJYC",
|
||
|
|
||
|
/**
|
||
|
* 器材车
|
||
|
*/
|
||
|
QCC = "QCC",
|
||
|
|
||
|
/**
|
||
|
* 照明车
|
||
|
*/
|
||
|
ZMC = "ZMC",
|
||
|
|
||
|
/**
|
||
|
* 破拆车
|
||
|
*/
|
||
|
PCC = "PCC",
|
||
|
|
||
|
/**
|
||
|
* 排烟车
|
||
|
*/
|
||
|
PYC = "PYC",
|
||
|
|
||
|
/**
|
||
|
* 指挥车
|
||
|
*/
|
||
|
ZHC = "ZHC",
|
||
|
|
||
|
/**
|
||
|
* 高层供水车
|
||
|
*/
|
||
|
GCGSC = "GCGSC",
|
||
|
|
||
|
/**
|
||
|
* 空气呼吸充气车
|
||
|
*/
|
||
|
KQHXCQC = "KQHXCQC",
|
||
|
|
||
|
//================联动力量===================
|
||
|
/**
|
||
|
* 公安
|
||
|
*/
|
||
|
GA = "GA",
|
||
|
|
||
|
/**
|
||
|
* 交警
|
||
|
*/
|
||
|
JJ = "JJ",
|
||
|
|
||
|
/**
|
||
|
* 医生
|
||
|
*/
|
||
|
YS = "YS",
|
||
|
|
||
|
/**
|
||
|
* 抢修人员
|
||
|
*/
|
||
|
QXRY = "QXRY",
|
||
|
|
||
|
/**
|
||
|
* 救护车
|
||
|
*/
|
||
|
JHC = "JHC",
|
||
|
|
||
|
/**
|
||
|
* 警车
|
||
|
*/
|
||
|
JC = "JC",
|
||
|
|
||
|
/**
|
||
|
* 电力抢修车
|
||
|
*/
|
||
|
DLQXC = "DLQXC",
|
||
|
|
||
|
/**
|
||
|
* 燃气抢修车
|
||
|
*/
|
||
|
RQQXC = "RQQXC",
|
||
|
|
||
|
/**
|
||
|
* 供水抢修车
|
||
|
*/
|
||
|
GSQXC = "GSQXC",
|
||
|
|
||
|
/**
|
||
|
* 环保检测车
|
||
|
*/
|
||
|
HBJCC = "HBJCC",
|
||
|
|
||
|
/**
|
||
|
* 交通运输车
|
||
|
*/
|
||
|
JTYSC = "JTYSC",
|
||
|
|
||
|
/**
|
||
|
* 卫生防疫车
|
||
|
*/
|
||
|
WSFYC = "WSFYC",
|
||
|
|
||
|
/**
|
||
|
* 应急通信车
|
||
|
*/
|
||
|
YJTXC = "YJTXC",
|
||
|
|
||
|
/**
|
||
|
* 轿车
|
||
|
*/
|
||
|
JCA = "JCA",
|
||
|
|
||
|
/**
|
||
|
* 轿车
|
||
|
*/
|
||
|
JCB = "JCB",
|
||
|
|
||
|
/**
|
||
|
* 轿车
|
||
|
*/
|
||
|
JCC = "JCC",
|
||
|
|
||
|
//===============内部力量=================
|
||
|
/**
|
||
|
* 董事长
|
||
|
*/
|
||
|
DSZ = "DSZ",
|
||
|
|
||
|
/**
|
||
|
* 经理
|
||
|
*/
|
||
|
JL = "JL",
|
||
|
|
||
|
/**
|
||
|
* 副总
|
||
|
*/
|
||
|
FZ = "FZ",
|
||
|
|
||
|
/**
|
||
|
* 秘书
|
||
|
*/
|
||
|
MS = "MS",
|
||
|
|
||
|
/**
|
||
|
* 总监
|
||
|
*/
|
||
|
ZJ = "ZJ",
|
||
|
|
||
|
/**
|
||
|
* 主管
|
||
|
*/
|
||
|
ZG = "ZG",
|
||
|
|
||
|
/**
|
||
|
* 组长
|
||
|
*/
|
||
|
ZZ = "ZZ",
|
||
|
|
||
|
/**
|
||
|
* 前台
|
||
|
*/
|
||
|
QT = "QT",
|
||
|
|
||
|
/**
|
||
|
* 设计师
|
||
|
*/
|
||
|
SJS = "SJS",
|
||
|
|
||
|
/**
|
||
|
* 程序员
|
||
|
*/
|
||
|
CXY = "CXY",
|
||
|
|
||
|
/**
|
||
|
* 职员
|
||
|
*/
|
||
|
ZYA = "ZYA",
|
||
|
|
||
|
/**
|
||
|
* 职员
|
||
|
*/
|
||
|
ZYB = "ZYB",
|
||
|
|
||
|
/**
|
||
|
* 技工
|
||
|
*/
|
||
|
JG = "JG",
|
||
|
|
||
|
/**
|
||
|
* 保安
|
||
|
*/
|
||
|
BA = "BA",
|
||
|
|
||
|
//===================标绘工具===================
|
||
|
|
||
|
/**
|
||
|
* 警戒线
|
||
|
*/
|
||
|
JJX = "JJX",
|
||
|
|
||
|
/**
|
||
|
* 水带
|
||
|
*/
|
||
|
SD = "SD",
|
||
|
|
||
|
/**
|
||
|
* 进攻路线
|
||
|
*/
|
||
|
JGLX = "JGLX",
|
||
|
|
||
|
/**
|
||
|
* 撤退
|
||
|
*/
|
||
|
CT = "CT",
|
||
|
|
||
|
/**
|
||
|
* 指挥部
|
||
|
*/
|
||
|
ZHB = "ZHB",
|
||
|
|
||
|
/**
|
||
|
* 6米拉梯
|
||
|
*/
|
||
|
LT6 = "LT6",
|
||
|
|
||
|
/**
|
||
|
* 15米拉梯
|
||
|
*/
|
||
|
LT15 = "LT15",
|
||
|
|
||
|
/**
|
||
|
* 分水器
|
||
|
*/
|
||
|
FSQ = "FSQ",
|
||
|
|
||
|
/**
|
||
|
* 手抬泵
|
||
|
*/
|
||
|
STB = "STB",
|
||
|
|
||
|
/**
|
||
|
* 水炮
|
||
|
*/
|
||
|
SP = "SP",
|
||
|
|
||
|
/**
|
||
|
* 文字
|
||
|
*/
|
||
|
WZ = "WZ",
|
||
|
|
||
|
/**
|
||
|
* 集结区
|
||
|
*/
|
||
|
JJQ = "JJQ",
|
||
|
|
||
|
/**
|
||
|
* 区域设定
|
||
|
*/
|
||
|
QYSDA = "QYSDA",
|
||
|
|
||
|
/**
|
||
|
* 区域设定
|
||
|
*/
|
||
|
QYSDB = "QYSDB",
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 标记的任务类型
|
||
|
*/
|
||
|
export enum MarkTask {
|
||
|
/**
|
||
|
* 无任务(不打开任务界面)
|
||
|
*/
|
||
|
None,
|
||
|
|
||
|
/**
|
||
|
* 未知(打开界面,但没有任务列表)
|
||
|
*/
|
||
|
Unknown,
|
||
|
|
||
|
/**
|
||
|
* 人员
|
||
|
*/
|
||
|
Person,
|
||
|
|
||
|
/**
|
||
|
* 车辆
|
||
|
*/
|
||
|
Car,
|
||
|
|
||
|
/**
|
||
|
* 水炮
|
||
|
*/
|
||
|
WaterMonitor
|
||
|
|
||
|
}
|
||
|
|