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.
381 lines
5.2 KiB
381 lines
5.2 KiB
import { Type } from "class-transformer"; |
|
import { ConfigManager } from "src/app/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.SY; |
|
|
|
/** |
|
* 所属标签的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, this.name, undefined, defaultTask); |
|
} |
|
|
|
} |
|
|
|
/** |
|
* 子节点数据 |
|
*/ |
|
export class ChildNodeData { |
|
/** |
|
* 子节点名称 |
|
*/ |
|
name: string; |
|
|
|
/** |
|
* 变换信息 |
|
*/ |
|
@Type(() => TransformData) |
|
transformData: TransformData = new TransformData(); |
|
} |
|
|
|
/** |
|
* 所属标签的tag |
|
*/ |
|
export enum MarkTagPos { |
|
/** |
|
* 灾情 |
|
*/ |
|
Disaster = "Disaster", |
|
|
|
/** |
|
* 内部力量 |
|
*/ |
|
Inside = "Inside", |
|
|
|
/** |
|
* 外部力量 |
|
*/ |
|
Outside = "Outside", |
|
|
|
/** |
|
* 标绘工具 |
|
*/ |
|
Other = "Other", |
|
|
|
} |
|
|
|
/** |
|
* 标绘的分类类型 |
|
*/ |
|
export enum MarkKindType { |
|
/** |
|
* 人 |
|
*/ |
|
Persion = "Persion", |
|
|
|
/** |
|
* 车 |
|
*/ |
|
Car = "Car", |
|
|
|
/** |
|
* 物品 |
|
*/ |
|
Goods = "Goods", |
|
|
|
/** |
|
* 虚拟物,如: 箭头、文字标记类 |
|
*/ |
|
Virtual = "Virtual", |
|
|
|
/** |
|
* 特效 |
|
*/ |
|
Effect = "Effect", |
|
|
|
} |
|
|
|
/** |
|
* 标绘的名称类型 |
|
* 每个标会类型id |
|
*/ |
|
export enum MarkType { |
|
|
|
//============灾情设定=============== |
|
|
|
/** |
|
* 伤员D |
|
*/ |
|
SY = "SY", |
|
|
|
/** |
|
* 歹徒 |
|
*/ |
|
DT = "DT", |
|
|
|
/** |
|
* 漏油(大) |
|
*/ |
|
LYD = "LYD", |
|
|
|
/** |
|
* 漏油(小) |
|
*/ |
|
LYX = "LYX", |
|
|
|
/** |
|
* 火(大) |
|
*/ |
|
H = "H", |
|
|
|
/** |
|
* 火(小) |
|
*/ |
|
SNH = "SNH", |
|
|
|
/** |
|
* 烟雾A(大) |
|
*/ |
|
YWA = "YWA", |
|
|
|
/** |
|
* 烟雾(小) |
|
*/ |
|
YWB = "YWB", |
|
|
|
//==================外部力量================ |
|
|
|
/** |
|
* 消防员 |
|
*/ |
|
XFY = "XFY", |
|
|
|
/** |
|
* 消防车 |
|
*/ |
|
XFC = "XFC", |
|
|
|
|
|
/** |
|
* 警车 |
|
*/ |
|
JC = "JC", |
|
|
|
/** |
|
* 交警 |
|
*/ |
|
JJ = "JJ", |
|
|
|
/** |
|
* 公安 |
|
*/ |
|
GA = "GA", |
|
/** |
|
* 救护车 |
|
*/ |
|
JHC = "JHC", |
|
/** |
|
* 医生 |
|
*/ |
|
YS = "YS", |
|
|
|
//===============内部力量================= |
|
|
|
/** |
|
* 经理 |
|
*/ |
|
JL = "JL", |
|
|
|
/** |
|
* 主管 |
|
*/ |
|
YZZG = "YZZG", |
|
|
|
/** |
|
* 收银员 |
|
*/ |
|
SYY = "SYY", |
|
|
|
/** |
|
* 加油员 |
|
*/ |
|
JYY = "JYY", |
|
|
|
/** |
|
* 卸油员 |
|
*/ |
|
XYY = "XYY", |
|
|
|
/** |
|
* 油罐车 |
|
*/ |
|
YGC = "YGC", |
|
|
|
/** |
|
* 输油管 |
|
*/ |
|
SYG = "SYG", |
|
/** |
|
* 油罐车司机 |
|
*/ |
|
YGCSJ = "YGCSJ", |
|
|
|
/** |
|
* 消防沙(堆) |
|
*/ |
|
XFSD = "XFSD", |
|
|
|
/** |
|
* 消防沙(圈) |
|
*/ |
|
XFSQ = "XFSQ", |
|
|
|
/** |
|
* 专用密闭容器 |
|
*/ |
|
ZYMBRQ = "ZYMBRQ", |
|
|
|
/** |
|
* 普通灭火器 |
|
*/ |
|
PTMHQ = "PTMHQ", |
|
|
|
/** |
|
* 干粉灭火器 |
|
*/ |
|
GFMHQ = "GFMHQ", |
|
|
|
/** |
|
* 推车灭火器 |
|
*/ |
|
TCMHQ = "TCMHQ", |
|
|
|
/** |
|
* 灭火毯(开) |
|
*/ |
|
MHTK = "MHTK", |
|
|
|
|
|
//===================其他=================== |
|
|
|
|
|
/** |
|
* 顾客 |
|
*/ |
|
GK = "GK", |
|
|
|
/** |
|
* 轿车 |
|
*/ |
|
JCA = "JCA", |
|
|
|
/** |
|
* 警戒线 |
|
*/ |
|
JJX = "JJX", |
|
|
|
/** |
|
* 进攻路线 |
|
*/ |
|
JGLX = "JGLX", |
|
|
|
/** |
|
* 撤退 |
|
*/ |
|
CT = "CT", |
|
|
|
/** |
|
* 文字 |
|
*/ |
|
WZ = "WZ", |
|
|
|
/** |
|
* 区域设定 |
|
*/ |
|
QYSDA = "QYSDA", |
|
|
|
/** |
|
* 区域设定 |
|
*/ |
|
QYSDB = "QYSDB", |
|
} |
|
|
|
/** |
|
* 标记的任务类型 |
|
*/ |
|
export enum MarkTask { |
|
/** |
|
* 无任务(不打开任务界面) |
|
*/ |
|
None, |
|
|
|
/** |
|
* 未知(打开界面,但没有任务列表) |
|
*/ |
|
Unknown, |
|
|
|
/** |
|
* 人员 |
|
*/ |
|
Person, |
|
|
|
/** |
|
* 车辆 |
|
*/ |
|
Car, |
|
} |
|
|
|
|