model-action 1.0.24 → 2.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +13 -4
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +12 -4
- package/dist/index.js.map +1 -0
- package/dist/modules/Action.d.ts +5 -14
- package/dist/modules/Action.d.ts.map +1 -0
- package/dist/modules/Action.js +2 -10
- package/dist/modules/Action.js.map +1 -0
- package/dist/modules/Animation.d.ts +59 -0
- package/dist/modules/Animation.d.ts.map +1 -0
- package/dist/modules/Animation.js +117 -0
- package/dist/modules/Animation.js.map +1 -0
- package/dist/modules/Building.d.ts +28 -0
- package/dist/modules/Building.d.ts.map +1 -0
- package/dist/modules/Building.js +70 -0
- package/dist/modules/Building.js.map +1 -0
- package/dist/modules/Camera.d.ts +37 -0
- package/dist/modules/Camera.d.ts.map +1 -0
- package/dist/modules/Camera.js +110 -0
- package/dist/modules/Camera.js.map +1 -0
- package/dist/modules/CameraView.d.ts +37 -0
- package/dist/modules/CameraView.d.ts.map +1 -0
- package/dist/modules/CameraView.js +110 -0
- package/dist/modules/CameraView.js.map +1 -0
- package/dist/modules/Effect.d.ts +37 -0
- package/dist/modules/Effect.d.ts.map +1 -0
- package/dist/modules/Effect.js +72 -0
- package/dist/modules/Effect.js.map +1 -0
- package/dist/modules/Environment.d.ts +22 -0
- package/dist/modules/Environment.d.ts.map +1 -0
- package/dist/modules/Environment.js +53 -0
- package/dist/modules/Environment.js.map +1 -0
- package/dist/modules/Focus.d.ts +12 -0
- package/dist/modules/Focus.d.ts.map +1 -0
- package/dist/modules/Focus.js +22 -0
- package/dist/modules/Focus.js.map +1 -0
- package/dist/modules/GameMode.d.ts +17 -0
- package/dist/modules/GameMode.d.ts.map +1 -0
- package/dist/modules/GameMode.js +36 -0
- package/dist/modules/GameMode.js.map +1 -0
- package/dist/modules/Init.d.ts +28 -0
- package/dist/modules/Init.d.ts.map +1 -0
- package/dist/modules/Init.js +81 -0
- package/dist/modules/Init.js.map +1 -0
- package/dist/modules/Path.d.ts +76 -0
- package/dist/modules/Path.d.ts.map +1 -0
- package/dist/modules/Path.js +155 -0
- package/dist/modules/Path.js.map +1 -0
- package/dist/modules/Poi.d.ts +45 -62
- package/dist/modules/Poi.d.ts.map +1 -0
- package/dist/modules/Poi.js +117 -88
- package/dist/modules/Poi.js.map +1 -0
- package/dist/modules/Routing.d.ts +23 -31
- package/dist/modules/Routing.d.ts.map +1 -0
- package/dist/modules/Routing.js +62 -63
- package/dist/modules/Routing.js.map +1 -0
- package/dist/modules/Scene.d.ts +12 -15
- package/dist/modules/Scene.d.ts.map +1 -0
- package/dist/modules/Scene.js +26 -15
- package/dist/modules/Scene.js.map +1 -0
- package/dist/modules/Status.d.ts +59 -0
- package/dist/modules/Status.d.ts.map +1 -0
- package/dist/modules/Status.js +91 -0
- package/dist/modules/Status.js.map +1 -0
- package/dist/modules/Track.d.ts +65 -22
- package/dist/modules/Track.d.ts.map +1 -0
- package/dist/modules/Track.js +128 -20
- package/dist/modules/Track.js.map +1 -0
- package/dist/modules/VideoFusion.d.ts +1 -0
- package/dist/modules/VideoFusion.d.ts.map +1 -0
- package/dist/modules/VideoFusion.js +1 -0
- package/dist/modules/VideoFusion.js.map +1 -0
- package/dist/modules/Window.d.ts +1 -0
- package/dist/modules/Window.d.ts.map +1 -0
- package/dist/modules/Window.js +1 -0
- package/dist/modules/Window.js.map +1 -0
- package/dist/peer-stream.d.ts +123 -0
- package/dist/peer-stream.d.ts.map +1 -0
- package/dist/peer-stream.js +852 -0
- package/dist/peer-stream.js.map +1 -0
- package/package.json +1 -1
- package/src/index.ts +12 -4
- package/src/modules/Action.ts +5 -25
- package/src/modules/Animation.ts +171 -0
- package/src/modules/Building.ts +103 -0
- package/src/modules/CameraView.ts +175 -0
- package/src/modules/Effect.ts +127 -0
- package/src/modules/Environment.ts +81 -0
- package/src/modules/Focus.ts +33 -0
- package/src/modules/GameMode.ts +60 -0
- package/src/modules/Init.ts +104 -0
- package/src/modules/Path.ts +293 -0
- package/src/modules/Poi.ts +194 -117
- package/src/modules/Routing.ts +96 -85
- package/src/modules/Scene.ts +43 -21
- package/src/modules/Status.ts +150 -0
- package/src/peer-stream.js +938 -0
- package/src/modules/Track.ts +0 -64
- package/src/modules/VideoFusion.ts +0 -122
- package/src/modules/Window.ts +0 -40
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 相机视角操作方法
|
|
3
|
+
*/
|
|
4
|
+
import { Action } from "./Action";
|
|
5
|
+
export class CameraViewAction extends Action {
|
|
6
|
+
/**
|
|
7
|
+
* 获取当前视角的信息,位置,旋转和臂长还有相机的视域角
|
|
8
|
+
*/
|
|
9
|
+
static get() {
|
|
10
|
+
const data = {
|
|
11
|
+
action: 'get'
|
|
12
|
+
};
|
|
13
|
+
const param = {
|
|
14
|
+
cmd: "cameraView",
|
|
15
|
+
data
|
|
16
|
+
};
|
|
17
|
+
this.sendParam(param, '获取当前视角信息');
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* 设置视角,并飞过去
|
|
21
|
+
* @param viewInfo 视角信息
|
|
22
|
+
*/
|
|
23
|
+
static set(viewInfo) {
|
|
24
|
+
const data = {
|
|
25
|
+
action: 'set'
|
|
26
|
+
};
|
|
27
|
+
// 如果提供了 location,则添加
|
|
28
|
+
if (viewInfo.location) {
|
|
29
|
+
data.location = viewInfo.location;
|
|
30
|
+
}
|
|
31
|
+
// 如果提供了 rotation,则添加
|
|
32
|
+
if (viewInfo.rotation) {
|
|
33
|
+
data.rotation = viewInfo.rotation;
|
|
34
|
+
}
|
|
35
|
+
// 如果提供了 armLength,则添加
|
|
36
|
+
if (viewInfo.armLength !== undefined) {
|
|
37
|
+
data.armLength = viewInfo.armLength;
|
|
38
|
+
}
|
|
39
|
+
// 如果提供了 fov,则添加
|
|
40
|
+
if (viewInfo.fov !== undefined) {
|
|
41
|
+
data.fov = viewInfo.fov;
|
|
42
|
+
}
|
|
43
|
+
const param = {
|
|
44
|
+
cmd: "cameraView",
|
|
45
|
+
data
|
|
46
|
+
};
|
|
47
|
+
this.sendParam(param, '设置视角并飞过去');
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* 切换到默认视角
|
|
51
|
+
*/
|
|
52
|
+
static default() {
|
|
53
|
+
const data = {
|
|
54
|
+
action: 'default'
|
|
55
|
+
};
|
|
56
|
+
const param = {
|
|
57
|
+
cmd: "cameraView",
|
|
58
|
+
data
|
|
59
|
+
};
|
|
60
|
+
this.sendParam(param, '切换到默认视角');
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* 保存视角
|
|
64
|
+
* @param tag 保存视角的唯一标识
|
|
65
|
+
* @param viewInfo 视角信息
|
|
66
|
+
*/
|
|
67
|
+
static save(tag, viewInfo) {
|
|
68
|
+
const data = {
|
|
69
|
+
action: 'save',
|
|
70
|
+
tag
|
|
71
|
+
};
|
|
72
|
+
// 如果提供了 location,则添加
|
|
73
|
+
if (viewInfo.location) {
|
|
74
|
+
data.location = viewInfo.location;
|
|
75
|
+
}
|
|
76
|
+
// 如果提供了 rotation,则添加
|
|
77
|
+
if (viewInfo.rotation) {
|
|
78
|
+
data.rotation = viewInfo.rotation;
|
|
79
|
+
}
|
|
80
|
+
// 如果提供了 armLength,则添加
|
|
81
|
+
if (viewInfo.armLength !== undefined) {
|
|
82
|
+
data.armLength = viewInfo.armLength;
|
|
83
|
+
}
|
|
84
|
+
// 如果提供了 fov,则添加
|
|
85
|
+
if (viewInfo.fov !== undefined) {
|
|
86
|
+
data.fov = viewInfo.fov;
|
|
87
|
+
}
|
|
88
|
+
const param = {
|
|
89
|
+
cmd: "cameraView",
|
|
90
|
+
data
|
|
91
|
+
};
|
|
92
|
+
this.sendParam(param, `保存视角 - tag: ${tag}`);
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* 飞向tag标识的视角
|
|
96
|
+
* @param tag 视角的唯一标识(需要提前使用save保存)
|
|
97
|
+
*/
|
|
98
|
+
static flyTo(tag) {
|
|
99
|
+
const data = {
|
|
100
|
+
action: 'flyTo',
|
|
101
|
+
tag
|
|
102
|
+
};
|
|
103
|
+
const param = {
|
|
104
|
+
cmd: "cameraView",
|
|
105
|
+
data
|
|
106
|
+
};
|
|
107
|
+
this.sendParam(param, `飞向视角 - tag: ${tag}`);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
//# sourceMappingURL=CameraView.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CameraView.js","sourceRoot":"","sources":["../../src/modules/CameraView.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 效果控制操作方法
|
|
3
|
+
*/
|
|
4
|
+
import { Action } from "./Action";
|
|
5
|
+
export type EffectType = 'Elevator' | 'PowerUsed' | 'P' | 'ElectronicFence' | 'MeetingRoom' | 'Pipe' | 'RoomArea' | 'EscapeRoute' | 'PeopleRoute' | 'Area' | string;
|
|
6
|
+
export type EffectActionType = '1' | '0';
|
|
7
|
+
export interface EffectParam {
|
|
8
|
+
action: EffectActionType;
|
|
9
|
+
type: EffectType;
|
|
10
|
+
place: string;
|
|
11
|
+
extraContent?: Record<string, any>;
|
|
12
|
+
}
|
|
13
|
+
export declare class EffectAction extends Action {
|
|
14
|
+
/**
|
|
15
|
+
* 显示效果
|
|
16
|
+
* @param type 效果类型,如 "Elevator"、"PowerUsed"、"P" 等
|
|
17
|
+
* @param place 效果所在的位置,项目约定,如 "ZHL"、"A"、"ZHL-1F" 等
|
|
18
|
+
* @param extraContent 补充内容,非必须
|
|
19
|
+
*/
|
|
20
|
+
static show(type: EffectType, place: string, extraContent?: Record<string, any>): void;
|
|
21
|
+
/**
|
|
22
|
+
* 隐藏效果
|
|
23
|
+
* @param type 效果类型,如 "Elevator"、"PowerUsed"、"P" 等
|
|
24
|
+
* @param place 效果所在的位置,项目约定,如 "ZHL"、"A"、"ZHL-1F" 等
|
|
25
|
+
* @param extraContent 补充内容,非必须
|
|
26
|
+
*/
|
|
27
|
+
static hide(type: EffectType, place: string, extraContent?: Record<string, any>): void;
|
|
28
|
+
/**
|
|
29
|
+
* 通用效果控制方法
|
|
30
|
+
* @param action 操作类型:'1' = 显示,'0' = 隐藏
|
|
31
|
+
* @param type 效果类型
|
|
32
|
+
* @param place 效果所在的位置
|
|
33
|
+
* @param extraContent 补充内容,非必须
|
|
34
|
+
*/
|
|
35
|
+
static control(action: EffectActionType, type: EffectType, place: string, extraContent?: Record<string, any>): void;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=Effect.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Effect.d.ts","sourceRoot":"","sources":["../../src/modules/Effect.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,MAAM,EAAa,MAAM,UAAU,CAAC;AAG7C,MAAM,MAAM,UAAU,GAChB,UAAU,GACV,WAAW,GACX,GAAG,GACH,iBAAiB,GACjB,aAAa,GACb,MAAM,GACN,UAAU,GACV,aAAa,GACb,aAAa,GACb,MAAM,GACN,MAAM,CAAC;AAGb,MAAM,MAAM,gBAAgB,GAAG,GAAG,GAAG,GAAG,CAAC;AAGzC,MAAM,WAAW,WAAW;IACxB,MAAM,EAAE,gBAAgB,CAAC;IACzB,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACtC;AAQD,qBAAa,YAAa,SAAQ,MAAM;IACpC;;;;;OAKG;IACH,MAAM,CAAC,IAAI,CACP,IAAI,EAAE,UAAU,EAChB,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAoBtC;;;;;OAKG;IACH,MAAM,CAAC,IAAI,CACP,IAAI,EAAE,UAAU,EAChB,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAoBtC;;;;;;OAMG;IACH,MAAM,CAAC,OAAO,CACV,MAAM,EAAE,gBAAgB,EACxB,IAAI,EAAE,UAAU,EAChB,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAoBzC"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 效果控制操作方法
|
|
3
|
+
*/
|
|
4
|
+
import { Action } from "./Action";
|
|
5
|
+
export class EffectAction extends Action {
|
|
6
|
+
/**
|
|
7
|
+
* 显示效果
|
|
8
|
+
* @param type 效果类型,如 "Elevator"、"PowerUsed"、"P" 等
|
|
9
|
+
* @param place 效果所在的位置,项目约定,如 "ZHL"、"A"、"ZHL-1F" 等
|
|
10
|
+
* @param extraContent 补充内容,非必须
|
|
11
|
+
*/
|
|
12
|
+
static show(type, place, extraContent) {
|
|
13
|
+
const data = {
|
|
14
|
+
action: '1',
|
|
15
|
+
type,
|
|
16
|
+
place
|
|
17
|
+
};
|
|
18
|
+
if (extraContent) {
|
|
19
|
+
data.extraContent = extraContent;
|
|
20
|
+
}
|
|
21
|
+
const param = {
|
|
22
|
+
cmd: "effect",
|
|
23
|
+
data
|
|
24
|
+
};
|
|
25
|
+
this.sendParam(param, `显示效果 - type: ${type}, place: ${place}`);
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* 隐藏效果
|
|
29
|
+
* @param type 效果类型,如 "Elevator"、"PowerUsed"、"P" 等
|
|
30
|
+
* @param place 效果所在的位置,项目约定,如 "ZHL"、"A"、"ZHL-1F" 等
|
|
31
|
+
* @param extraContent 补充内容,非必须
|
|
32
|
+
*/
|
|
33
|
+
static hide(type, place, extraContent) {
|
|
34
|
+
const data = {
|
|
35
|
+
action: '0',
|
|
36
|
+
type,
|
|
37
|
+
place
|
|
38
|
+
};
|
|
39
|
+
if (extraContent) {
|
|
40
|
+
data.extraContent = extraContent;
|
|
41
|
+
}
|
|
42
|
+
const param = {
|
|
43
|
+
cmd: "effect",
|
|
44
|
+
data
|
|
45
|
+
};
|
|
46
|
+
this.sendParam(param, `隐藏效果 - type: ${type}, place: ${place}`);
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* 通用效果控制方法
|
|
50
|
+
* @param action 操作类型:'1' = 显示,'0' = 隐藏
|
|
51
|
+
* @param type 效果类型
|
|
52
|
+
* @param place 效果所在的位置
|
|
53
|
+
* @param extraContent 补充内容,非必须
|
|
54
|
+
*/
|
|
55
|
+
static control(action, type, place, extraContent) {
|
|
56
|
+
const data = {
|
|
57
|
+
action,
|
|
58
|
+
type,
|
|
59
|
+
place
|
|
60
|
+
};
|
|
61
|
+
if (extraContent) {
|
|
62
|
+
data.extraContent = extraContent;
|
|
63
|
+
}
|
|
64
|
+
const param = {
|
|
65
|
+
cmd: "effect",
|
|
66
|
+
data
|
|
67
|
+
};
|
|
68
|
+
const actionText = action === '1' ? '显示' : '隐藏';
|
|
69
|
+
this.sendParam(param, `${actionText}效果 - type: ${type}, place: ${place}`);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=Effect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Effect.js","sourceRoot":"","sources":["../../src/modules/Effect.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,MAAM,EAAa,MAAM,UAAU,CAAC;AAiC7C,MAAM,OAAO,YAAa,SAAQ,MAAM;IACpC;;;;;OAKG;IACH,MAAM,CAAC,IAAI,CACP,IAAgB,EAChB,KAAa,EACb,YAAkC;QAElC,MAAM,IAAI,GAAgB;YACtB,MAAM,EAAE,GAAG;YACX,IAAI;YACJ,KAAK;SACR,CAAC;QAEF,IAAI,YAAY,EAAE,CAAC;YACf,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACrC,CAAC;QAED,MAAM,KAAK,GAAqB;YAC5B,GAAG,EAAE,QAAQ;YACb,IAAI;SACP,CAAC;QAEF,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,gBAAgB,IAAI,YAAY,KAAK,EAAE,CAAC,CAAC;IACnE,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,IAAI,CACP,IAAgB,EAChB,KAAa,EACb,YAAkC;QAElC,MAAM,IAAI,GAAgB;YACtB,MAAM,EAAE,GAAG;YACX,IAAI;YACJ,KAAK;SACR,CAAC;QAEF,IAAI,YAAY,EAAE,CAAC;YACf,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACrC,CAAC;QAED,MAAM,KAAK,GAAqB;YAC5B,GAAG,EAAE,QAAQ;YACb,IAAI;SACP,CAAC;QAEF,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,gBAAgB,IAAI,YAAY,KAAK,EAAE,CAAC,CAAC;IACnE,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,OAAO,CACV,MAAwB,EACxB,IAAgB,EAChB,KAAa,EACb,YAAkC;QAElC,MAAM,IAAI,GAAgB;YACtB,MAAM;YACN,IAAI;YACJ,KAAK;SACR,CAAC;QAEF,IAAI,YAAY,EAAE,CAAC;YACf,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACrC,CAAC;QAED,MAAM,KAAK,GAAqB;YAC5B,GAAG,EAAE,QAAQ;YACb,IAAI;SACP,CAAC;QAEF,MAAM,UAAU,GAAG,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QAChD,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,UAAU,cAAc,IAAI,YAAY,KAAK,EAAE,CAAC,CAAC;IAC9E,CAAC;CACJ"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 场景环境操作方法
|
|
3
|
+
*/
|
|
4
|
+
import { Action } from "./Action";
|
|
5
|
+
export declare class EnvironmentAction extends Action {
|
|
6
|
+
/**
|
|
7
|
+
* 昼夜切换
|
|
8
|
+
* @param type 0 = 白天,1 = 夜晚
|
|
9
|
+
*/
|
|
10
|
+
static dayNight(type: "0" | "1"): void;
|
|
11
|
+
/**
|
|
12
|
+
* 天气切换
|
|
13
|
+
* @param type 天气类型:晴、阴、小雨、大雨、小雪、大雪、雾
|
|
14
|
+
*/
|
|
15
|
+
static weather(type: string): void;
|
|
16
|
+
/**
|
|
17
|
+
* 时间切换
|
|
18
|
+
* @param type 时间格式,如 "12:00"
|
|
19
|
+
*/
|
|
20
|
+
static time(type: string): void;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=Environment.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Environment.d.ts","sourceRoot":"","sources":["../../src/modules/Environment.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,MAAM,EAAa,MAAM,UAAU,CAAC;AAa7C,qBAAa,iBAAkB,SAAQ,MAAM;IACzC;;;OAGG;IACH,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG;IAkB/B;;;OAGG;IACH,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM;IAiB3B;;;OAGG;IACH,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM;CAgB3B"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 场景环境操作方法
|
|
3
|
+
*/
|
|
4
|
+
import { Action } from "./Action";
|
|
5
|
+
export class EnvironmentAction extends Action {
|
|
6
|
+
/**
|
|
7
|
+
* 昼夜切换
|
|
8
|
+
* @param type 0 = 白天,1 = 夜晚
|
|
9
|
+
*/
|
|
10
|
+
static dayNight(type) {
|
|
11
|
+
const data = {
|
|
12
|
+
action: 'DayNight',
|
|
13
|
+
type
|
|
14
|
+
};
|
|
15
|
+
const param = {
|
|
16
|
+
cmd: "environment",
|
|
17
|
+
data
|
|
18
|
+
};
|
|
19
|
+
const dayNightDesc = type === '0' ? '白天' : '夜晚';
|
|
20
|
+
this.sendParam(param, `昼夜切换 - ${dayNightDesc}`);
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* 天气切换
|
|
24
|
+
* @param type 天气类型:晴、阴、小雨、大雨、小雪、大雪、雾
|
|
25
|
+
*/
|
|
26
|
+
static weather(type) {
|
|
27
|
+
const data = {
|
|
28
|
+
action: 'Weather',
|
|
29
|
+
type
|
|
30
|
+
};
|
|
31
|
+
const param = {
|
|
32
|
+
cmd: "environment",
|
|
33
|
+
data
|
|
34
|
+
};
|
|
35
|
+
this.sendParam(param, `天气切换 - ${type}`);
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* 时间切换
|
|
39
|
+
* @param type 时间格式,如 "12:00"
|
|
40
|
+
*/
|
|
41
|
+
static time(type) {
|
|
42
|
+
const data = {
|
|
43
|
+
action: 'Time',
|
|
44
|
+
type
|
|
45
|
+
};
|
|
46
|
+
const param = {
|
|
47
|
+
cmd: "environment",
|
|
48
|
+
data
|
|
49
|
+
};
|
|
50
|
+
this.sendParam(param, `时间切换 - ${type}`);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=Environment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Environment.js","sourceRoot":"","sources":["../../src/modules/Environment.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,MAAM,EAAa,MAAM,UAAU,CAAC;AAa7C,MAAM,OAAO,iBAAkB,SAAQ,MAAM;IACzC;;;OAGG;IACH,MAAM,CAAC,QAAQ,CAAC,IAAe;QAC3B,MAAM,IAAI,GAGN;YACA,MAAM,EAAE,UAAU;YAClB,IAAI;SACP,CAAC;QAEF,MAAM,KAAK,GAAoB;YAC3B,GAAG,EAAE,aAAa;YAClB,IAAI;SACP,CAAC;QAEF,MAAM,YAAY,GAAG,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QAChD,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,UAAU,YAAY,EAAE,CAAC,CAAA;IACnD,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,OAAO,CAAC,IAAY;QACvB,MAAM,IAAI,GAGN;YACA,MAAM,EAAE,SAAS;YACjB,IAAI;SACP,CAAC;QAEF,MAAM,KAAK,GAAoB;YAC3B,GAAG,EAAE,aAAa;YAClB,IAAI;SACP,CAAC;QAEF,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,UAAU,IAAI,EAAE,CAAC,CAAA;IAC3C,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,IAAI,CAAC,IAAY;QACpB,MAAM,IAAI,GAGN;YACA,MAAM,EAAE,MAAM;YACd,IAAI;SACP,CAAC;QAEF,MAAM,KAAK,GAAoB;YAC3B,GAAG,EAAE,aAAa;YAClB,IAAI;SACP,CAAC;QAEF,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,UAAU,IAAI,EAAE,CAAC,CAAA;IAC3C,CAAC;CACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Focus.d.ts","sourceRoot":"","sources":["../../src/modules/Focus.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AASlC,qBAAa,WAAY,SAAQ,MAAM;IACnC;;;OAGG;IACH,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,MAAM;CAe1B"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 聚焦操作方法
|
|
3
|
+
*/
|
|
4
|
+
import { Action } from "./Action";
|
|
5
|
+
export class FocusAction extends Action {
|
|
6
|
+
/**
|
|
7
|
+
* 飞到指定ID的物体附近
|
|
8
|
+
* @param id 物体的ID(如POI、模型等)
|
|
9
|
+
*/
|
|
10
|
+
static focus(id) {
|
|
11
|
+
const data = {
|
|
12
|
+
id
|
|
13
|
+
};
|
|
14
|
+
const param = {
|
|
15
|
+
cmd: "focus",
|
|
16
|
+
data
|
|
17
|
+
};
|
|
18
|
+
// 注意:focus 命令不需要 action 字段,直接发送参数
|
|
19
|
+
this.sendParam(param, `飞到指定物体附近 - id: ${id}`);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=Focus.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Focus.js","sourceRoot":"","sources":["../../src/modules/Focus.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AASlC,MAAM,OAAO,WAAY,SAAQ,MAAM;IACnC;;;OAGG;IACH,MAAM,CAAC,KAAK,CAAC,EAAU;QACnB,MAAM,IAAI,GAEN;YACA,EAAE;SACL,CAAC;QAEF,MAAM,KAAK,GAAc;YACrB,GAAG,EAAE,OAAO;YACZ,IAAI;SACP,CAAC;QAEF,kCAAkC;QAClC,IAAI,CAAC,SAAS,CAAC,KAAY,EAAE,kBAAkB,EAAE,EAAE,CAAC,CAAC;IACzD,CAAC;CACJ"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 游戏模式切换
|
|
3
|
+
*/
|
|
4
|
+
import { Action } from "./Action";
|
|
5
|
+
export type GameMode = 'Normal' | 'Edit' | 'Measure';
|
|
6
|
+
export declare class GameModeAction extends Action {
|
|
7
|
+
/**
|
|
8
|
+
* 切换游戏模式
|
|
9
|
+
* @param mode 游戏模式:Normal(普通模式) | Edit(编辑模式) | Measure(绘制模式)
|
|
10
|
+
*/
|
|
11
|
+
static setMode(mode: GameMode): void;
|
|
12
|
+
/**
|
|
13
|
+
* 获取当前游戏模式
|
|
14
|
+
*/
|
|
15
|
+
static getMode(): void;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=GameMode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GameMode.d.ts","sourceRoot":"","sources":["../../src/modules/GameMode.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,MAAM,EAAa,MAAM,UAAU,CAAC;AAG7C,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAC;AAarD,qBAAa,cAAe,SAAQ,MAAM;IACtC;;;OAGG;IACH,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ;IAkB7B;;OAEG;IACH,MAAM,CAAC,OAAO;CAcjB"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 游戏模式切换
|
|
3
|
+
*/
|
|
4
|
+
import { Action } from "./Action";
|
|
5
|
+
export class GameModeAction extends Action {
|
|
6
|
+
/**
|
|
7
|
+
* 切换游戏模式
|
|
8
|
+
* @param mode 游戏模式:Normal(普通模式) | Edit(编辑模式) | Measure(绘制模式)
|
|
9
|
+
*/
|
|
10
|
+
static setMode(mode) {
|
|
11
|
+
const data = {
|
|
12
|
+
action: 'set',
|
|
13
|
+
mode
|
|
14
|
+
};
|
|
15
|
+
const param = {
|
|
16
|
+
cmd: "gameMode",
|
|
17
|
+
data
|
|
18
|
+
};
|
|
19
|
+
const modeDesc = mode === 'Normal' ? '普通模式' : mode === 'Edit' ? '编辑模式' : '绘制模式';
|
|
20
|
+
this.sendParam(param, `切换游戏模式 - ${modeDesc}`);
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* 获取当前游戏模式
|
|
24
|
+
*/
|
|
25
|
+
static getMode() {
|
|
26
|
+
const data = {
|
|
27
|
+
action: 'get'
|
|
28
|
+
};
|
|
29
|
+
const param = {
|
|
30
|
+
cmd: "gameMode",
|
|
31
|
+
data
|
|
32
|
+
};
|
|
33
|
+
this.sendParam(param, '获取当前游戏模式');
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=GameMode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GameMode.js","sourceRoot":"","sources":["../../src/modules/GameMode.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,MAAM,EAAa,MAAM,UAAU,CAAC;AAgB7C,MAAM,OAAO,cAAe,SAAQ,MAAM;IACtC;;;OAGG;IACH,MAAM,CAAC,OAAO,CAAC,IAAc;QACzB,MAAM,IAAI,GAGN;YACA,MAAM,EAAE,KAAK;YACb,IAAI;SACP,CAAC;QAEF,MAAM,KAAK,GAAsB;YAC7B,GAAG,EAAE,UAAU;YACf,IAAI;SACP,CAAC;QAEF,MAAM,QAAQ,GAAG,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;QAChF,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,YAAY,QAAQ,EAAE,CAAC,CAAC;IAClD,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,OAAO;QACV,MAAM,IAAI,GAEN;YACA,MAAM,EAAE,KAAK;SAChB,CAAC;QAEF,MAAM,KAAK,GAAsB;YAC7B,GAAG,EAAE,UAAU;YACf,IAAI;SACP,CAAC;QAEF,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IACtC,CAAC;CACJ"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 视频初始化操作方法
|
|
3
|
+
*/
|
|
4
|
+
import { Action } from "./Action";
|
|
5
|
+
import "../peer-stream.js";
|
|
6
|
+
export interface InitVideoOptions {
|
|
7
|
+
/** 视频容器元素(DOM元素或ref) */
|
|
8
|
+
container: HTMLElement;
|
|
9
|
+
/** WebSocket连接地址 */
|
|
10
|
+
wsUrl: string;
|
|
11
|
+
/** 消息回调函数 */
|
|
12
|
+
onMessage?: (data: any) => void;
|
|
13
|
+
/** 播放开始回调函数 */
|
|
14
|
+
onPlaying?: () => void;
|
|
15
|
+
/** 排队人数变化回调函数 */
|
|
16
|
+
onQueueChange?: (seq: number) => void;
|
|
17
|
+
/** 视频元数据加载完成回调函数 */
|
|
18
|
+
onLoadedMetadata?: () => void;
|
|
19
|
+
}
|
|
20
|
+
export declare class InitAction extends Action {
|
|
21
|
+
/**
|
|
22
|
+
* 初始化视频流
|
|
23
|
+
* @param options 初始化配置选项
|
|
24
|
+
* @returns HTMLVideoElement 返回创建的video元素
|
|
25
|
+
*/
|
|
26
|
+
static initVideo(options: InitVideoOptions): HTMLVideoElement;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=Init.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Init.d.ts","sourceRoot":"","sources":["../../src/modules/Init.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,OAAO,mBAAmB,CAAC;AAG3B,MAAM,WAAW,gBAAgB;IAC7B,wBAAwB;IACxB,SAAS,EAAE,WAAW,CAAC;IACvB,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa;IACb,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;IAChC,eAAe;IACf,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,iBAAiB;IACjB,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,oBAAoB;IACpB,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;CACjC;AAED,qBAAa,UAAW,SAAQ,MAAM;IAClC;;;;OAIG;IACH,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,gBAAgB;CAyEhE"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 视频初始化操作方法
|
|
3
|
+
*/
|
|
4
|
+
import { Action } from "./Action";
|
|
5
|
+
// 导入 peer-stream.js 以确保自定义元素在使用前被注册
|
|
6
|
+
import "../peer-stream.js";
|
|
7
|
+
export class InitAction extends Action {
|
|
8
|
+
/**
|
|
9
|
+
* 初始化视频流
|
|
10
|
+
* @param options 初始化配置选项
|
|
11
|
+
* @returns HTMLVideoElement 返回创建的video元素
|
|
12
|
+
*/
|
|
13
|
+
static initVideo(options) {
|
|
14
|
+
// 创建 peer-stream video 元素
|
|
15
|
+
const ps = document.createElement("video", { is: "peer-stream" });
|
|
16
|
+
// 设置样式
|
|
17
|
+
ps.style.width = "100%";
|
|
18
|
+
ps.style.height = "100%";
|
|
19
|
+
ps.style.backgroundRepeat = "no-repeat";
|
|
20
|
+
ps.style.backgroundSize = "cover";
|
|
21
|
+
ps.style.backgroundPosition = "center";
|
|
22
|
+
ps.style.left = "0px";
|
|
23
|
+
ps.style.top = "0px";
|
|
24
|
+
ps.style.position = "absolute";
|
|
25
|
+
// 设置 WebSocket 连接地址
|
|
26
|
+
ps.id = options.wsUrl;
|
|
27
|
+
// 将 video 元素添加到容器
|
|
28
|
+
options.container.appendChild(ps);
|
|
29
|
+
// 注册键盘和鼠标事件
|
|
30
|
+
if (ps.registerKeyboardEvents) {
|
|
31
|
+
ps.registerKeyboardEvents();
|
|
32
|
+
}
|
|
33
|
+
if (ps.registerMouseHoverEvents) {
|
|
34
|
+
ps.registerMouseHoverEvents();
|
|
35
|
+
}
|
|
36
|
+
// 监听消息事件
|
|
37
|
+
if (options.onMessage) {
|
|
38
|
+
ps.addEventListener("message", (e) => {
|
|
39
|
+
try {
|
|
40
|
+
const data = JSON.parse(e.detail);
|
|
41
|
+
options.onMessage(data);
|
|
42
|
+
}
|
|
43
|
+
catch (error) {
|
|
44
|
+
console.error("解析消息失败:", error);
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
// 监听元数据加载完成
|
|
49
|
+
ps.addEventListener("loadedmetadata", () => {
|
|
50
|
+
var _a;
|
|
51
|
+
if (ps) {
|
|
52
|
+
ps.style.objectFit = "fill";
|
|
53
|
+
ps.style.width = "100%";
|
|
54
|
+
ps.style.height = "100%";
|
|
55
|
+
}
|
|
56
|
+
(_a = options.onLoadedMetadata) === null || _a === void 0 ? void 0 : _a.call(options);
|
|
57
|
+
});
|
|
58
|
+
// 监听排队人数变化
|
|
59
|
+
if (ps.ws && options.onQueueChange) {
|
|
60
|
+
ps.ws.addEventListener('message', (e) => {
|
|
61
|
+
try {
|
|
62
|
+
const data = JSON.parse(e.data);
|
|
63
|
+
if (data.type === "playerqueue") {
|
|
64
|
+
options.onQueueChange(data.seq);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
catch (error) {
|
|
68
|
+
// 忽略解析错误,可能不是 JSON 数据
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
// 监听播放开始事件
|
|
73
|
+
if (options.onPlaying) {
|
|
74
|
+
ps.addEventListener("playing", () => {
|
|
75
|
+
options.onPlaying();
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
return ps;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=Init.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Init.js","sourceRoot":"","sources":["../../src/modules/Init.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 路径方法
|
|
3
|
+
*/
|
|
4
|
+
import { Action } from "./Action";
|
|
5
|
+
export type PathModuleType = 'Edit' | 'PathTracer';
|
|
6
|
+
export type RolerType = 'Person' | 'Camera' | 'UAV';
|
|
7
|
+
export type PathDrawBaseType = 'BaseOnRoadNet' | 'BaseOnPathEditInfo';
|
|
8
|
+
export type PathStyleType = 'Arrow' | string;
|
|
9
|
+
export interface RolerMoveParam {
|
|
10
|
+
rolerMoveAlongPath?: boolean;
|
|
11
|
+
rolerType?: RolerType;
|
|
12
|
+
viewFollow?: boolean;
|
|
13
|
+
moveSpeed?: number;
|
|
14
|
+
pauseAtPoint?: boolean;
|
|
15
|
+
}
|
|
16
|
+
export interface PathStyle {
|
|
17
|
+
color: string;
|
|
18
|
+
styleType: PathStyleType;
|
|
19
|
+
width: number;
|
|
20
|
+
}
|
|
21
|
+
export interface PathPoint {
|
|
22
|
+
id: string;
|
|
23
|
+
}
|
|
24
|
+
export interface PathEditParam {
|
|
25
|
+
searchRangeAtPathPoint?: number;
|
|
26
|
+
searchDeviceType?: string;
|
|
27
|
+
}
|
|
28
|
+
export declare class PathAction extends Action {
|
|
29
|
+
/**
|
|
30
|
+
* 请求三维绘制路径
|
|
31
|
+
* @param pathId 自定义轨迹ID,后面删除的时候用,如果之前有编辑路径,这里就使用编辑路径的时候传入的路径 pathId
|
|
32
|
+
* @param pathDrawBaseType 绘制方式:BaseOnRoadNet 基于路网,使用C++寻路;BaseOnPathEditInfo 基于编辑路径生成的点画路径,不基于路网
|
|
33
|
+
* @param points 路径点数组
|
|
34
|
+
* @param roadNetId 路网的ID,pathDrawBaseType = BaseOnRoadNet的时候,需要传值,如果场景就一个路网,也可以不用传
|
|
35
|
+
* @param rolerMoveParam 沿路径移动的信息
|
|
36
|
+
* @param pathStyle 路径样式
|
|
37
|
+
*/
|
|
38
|
+
static pathAdd(pathId: string, pathDrawBaseType: PathDrawBaseType, points: PathPoint[], roadNetId?: string, rolerMoveParam?: RolerMoveParam, pathStyle?: PathStyle): void;
|
|
39
|
+
/**
|
|
40
|
+
* 显隐销毁路径
|
|
41
|
+
* @param action 操作类型:show 显示 | hide 隐藏 | remove 删除
|
|
42
|
+
* @param pathId 自定义轨迹ID,同前面,自定义的ID
|
|
43
|
+
* @param module 显隐、删除哪一部分:Edit 编辑的部分 | PathTracer 根据设备点动态生成的路径部分,如果不传,则整个显隐或者删除
|
|
44
|
+
*/
|
|
45
|
+
static pathShowHideRemove(action: 'show' | 'hide' | 'remove', pathId: string, module?: PathModuleType): void;
|
|
46
|
+
/**
|
|
47
|
+
* 移动中更新移动参数
|
|
48
|
+
* @param pathId 自定义轨迹ID
|
|
49
|
+
* @param rolerMoveParam 沿路径移动的参数
|
|
50
|
+
*/
|
|
51
|
+
static pathUpdateMovingParam(pathId: string, rolerMoveParam: RolerMoveParam): void;
|
|
52
|
+
/**
|
|
53
|
+
* 在生成的路径上面移动 - 开始移动
|
|
54
|
+
* @param action 操作类型:start 开始移动
|
|
55
|
+
* @param pathId 自定义轨迹ID
|
|
56
|
+
* @param rolerMoveParam 沿路径移动的参数
|
|
57
|
+
*/
|
|
58
|
+
static pathMove(action: 'start', pathId: string, rolerMoveParam: RolerMoveParam): void;
|
|
59
|
+
/**
|
|
60
|
+
* 在生成的路径上面移动 - 停止或重启
|
|
61
|
+
* @param action 操作类型:stop 停止移动 | restart 重启移动
|
|
62
|
+
*/
|
|
63
|
+
static pathMove(action: 'stop' | 'restart'): void;
|
|
64
|
+
/**
|
|
65
|
+
* 开启路径编辑
|
|
66
|
+
* @param pathId 自定义轨迹ID,前端配置界面提供数据,为空或者不传,UE自动生成一个
|
|
67
|
+
* @param pathName 路径名称,前端配置界面提供数据,非必须
|
|
68
|
+
* @param pathEditParam 路径编辑参数,前端配置界面提供数据
|
|
69
|
+
*/
|
|
70
|
+
static pathBeginEdit(pathId?: string, pathName?: string, pathEditParam?: PathEditParam): void;
|
|
71
|
+
/**
|
|
72
|
+
* 停止路径编辑
|
|
73
|
+
*/
|
|
74
|
+
static pathEndEdit(): void;
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=Path.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Path.d.ts","sourceRoot":"","sources":["../../src/modules/Path.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,OAAO,EAAE,MAAM,EAAa,MAAM,UAAU,CAAC;AAM7C,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,YAAY,CAAA;AAGlD,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,KAAK,CAAA;AAGnD,MAAM,MAAM,gBAAgB,GAAG,eAAe,GAAG,oBAAoB,CAAA;AAGrE,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,MAAM,CAAA;AAG5C,MAAM,WAAW,cAAc;IAC3B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;CAC1B;AAGD,MAAM,WAAW,SAAS;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,aAAa,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;CACjB;AAGD,MAAM,WAAW,SAAS;IACtB,EAAE,EAAE,MAAM,CAAC;CACd;AAGD,MAAM,WAAW,aAAa;IAC1B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAqBD,qBAAa,UAAW,SAAQ,MAAM;IAClC;;;;;;;;OAQG;IACH,MAAM,CAAC,OAAO,CACV,MAAM,EAAE,MAAM,EACd,gBAAgB,EAAE,gBAAgB,EAClC,MAAM,EAAE,SAAS,EAAE,EACnB,SAAS,CAAC,EAAE,MAAM,EAClB,cAAc,CAAC,EAAE,cAAc,EAC/B,SAAS,CAAC,EAAE,SAAS;IA+BzB;;;;;OAKG;IACH,MAAM,CAAC,kBAAkB,CACrB,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,EAClC,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,cAAc;IA6B3B;;;;OAIG;IACH,MAAM,CAAC,qBAAqB,CACxB,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,cAAc;IAmBlC;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,cAAc,GAAG,IAAI;IACtF;;;OAGG;IACH,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IA2CjD;;;;;OAKG;IACH,MAAM,CAAC,aAAa,CAChB,MAAM,CAAC,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,MAAM,EACjB,aAAa,CAAC,EAAE,aAAa;IAiCjC;;OAEG;IACH,MAAM,CAAC,WAAW;CAarB"}
|