model-action 2.0.0 → 2.0.3
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 +7 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -2
- package/dist/index.js.map +1 -1
- package/dist/modules/Action.d.ts.map +1 -1
- package/dist/modules/Action.js +1 -0
- package/dist/modules/Action.js.map +1 -1
- 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/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/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 +79 -0
- package/dist/modules/Path.d.ts.map +1 -0
- package/dist/modules/Path.js +157 -0
- package/dist/modules/Path.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 +7 -2
- package/src/modules/Action.ts +1 -0
- package/src/modules/Animation.ts +171 -0
- package/src/modules/{Camera.ts → CameraView.ts} +2 -2
- package/src/modules/Effect.ts +127 -0
- package/src/modules/GameMode.ts +60 -0
- package/src/modules/Init.ts +104 -0
- package/src/modules/{Track.ts → Path.ts} +28 -21
- package/src/peer-stream.js +938 -0
|
@@ -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,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 路径方法
|
|
3
|
+
*/
|
|
4
|
+
import { Action } from "./Action";
|
|
5
|
+
type PathPublicUsedType = 'Normal' | 'Person' | 'Car';
|
|
6
|
+
export type PathModuleType = 'Edit' | 'PathTracer';
|
|
7
|
+
export type RolerType = 'Person' | 'Camera' | 'UAV';
|
|
8
|
+
export type PathDrawBaseType = 'BaseOnRoadNet' | 'BaseOnPathEditInfo';
|
|
9
|
+
export type PathStyleType = 'Arrow' | string;
|
|
10
|
+
export interface RolerMoveParam {
|
|
11
|
+
rolerMoveAlongPath?: boolean;
|
|
12
|
+
rolerType?: RolerType;
|
|
13
|
+
viewFollow?: boolean;
|
|
14
|
+
moveSpeed?: number;
|
|
15
|
+
pauseAtPoint?: boolean;
|
|
16
|
+
}
|
|
17
|
+
export interface PathStyle {
|
|
18
|
+
color: string;
|
|
19
|
+
styleType: PathStyleType;
|
|
20
|
+
width: number;
|
|
21
|
+
}
|
|
22
|
+
export interface PathPoint {
|
|
23
|
+
id: string;
|
|
24
|
+
}
|
|
25
|
+
export interface PathEditParam {
|
|
26
|
+
searchRangeAtPathPoint?: number;
|
|
27
|
+
searchDeviceType?: string;
|
|
28
|
+
}
|
|
29
|
+
export declare class PathAction extends Action {
|
|
30
|
+
/**
|
|
31
|
+
* 请求三维绘制路径
|
|
32
|
+
* @param pathId 自定义轨迹ID,后面删除的时候用,如果之前有编辑路径,这里就使用编辑路径的时候传入的路径 pathId
|
|
33
|
+
* @param pathDrawBaseType 绘制方式:BaseOnRoadNet 基于路网,使用C++寻路;BaseOnPathEditInfo 基于编辑路径生成的点画路径,不基于路网
|
|
34
|
+
* @param points 路径点数组
|
|
35
|
+
* @param pathPublicUsedType 路径的用途,默认 Normal
|
|
36
|
+
* @param roadNetId 路网的ID,pathDrawBaseType = BaseOnRoadNet的时候,需要传值,如果场景就一个路网,也可以不用传
|
|
37
|
+
* @param rolerMoveParam 沿路径移动的信息
|
|
38
|
+
* @param pathStyle 路径样式
|
|
39
|
+
*/
|
|
40
|
+
static pathAdd(pathId: string, pathDrawBaseType: PathDrawBaseType, points: PathPoint[], pathPublicUsedType?: PathPublicUsedType, roadNetId?: string, rolerMoveParam?: RolerMoveParam, pathStyle?: PathStyle): void;
|
|
41
|
+
/**
|
|
42
|
+
* 显隐销毁路径
|
|
43
|
+
* @param action 操作类型:show 显示 | hide 隐藏 | remove 删除
|
|
44
|
+
* @param pathId 自定义轨迹ID,同前面,自定义的ID
|
|
45
|
+
* @param module 显隐、删除哪一部分:Edit 编辑的部分 | PathTracer 根据设备点动态生成的路径部分,如果不传,则整个显隐或者删除
|
|
46
|
+
*/
|
|
47
|
+
static pathShowHideRemove(action: 'show' | 'hide' | 'remove', pathId: string, module?: PathModuleType): void;
|
|
48
|
+
/**
|
|
49
|
+
* 移动中更新移动参数
|
|
50
|
+
* @param pathId 自定义轨迹ID
|
|
51
|
+
* @param rolerMoveParam 沿路径移动的参数
|
|
52
|
+
*/
|
|
53
|
+
static pathUpdateMovingParam(pathId: string, rolerMoveParam: RolerMoveParam): void;
|
|
54
|
+
/**
|
|
55
|
+
* 在生成的路径上面移动 - 开始移动
|
|
56
|
+
* @param action 操作类型:start 开始移动
|
|
57
|
+
* @param pathId 自定义轨迹ID
|
|
58
|
+
* @param rolerMoveParam 沿路径移动的参数
|
|
59
|
+
*/
|
|
60
|
+
static pathMove(action: 'start', pathId: string, rolerMoveParam: RolerMoveParam): void;
|
|
61
|
+
/**
|
|
62
|
+
* 在生成的路径上面移动 - 停止或重启
|
|
63
|
+
* @param action 操作类型:stop 停止移动 | restart 重启移动
|
|
64
|
+
*/
|
|
65
|
+
static pathMove(action: 'stop' | 'restart'): void;
|
|
66
|
+
/**
|
|
67
|
+
* 开启路径编辑
|
|
68
|
+
* @param pathId 自定义轨迹ID,前端配置界面提供数据,为空或者不传,UE自动生成一个
|
|
69
|
+
* @param pathName 路径名称,前端配置界面提供数据,非必须
|
|
70
|
+
* @param pathEditParam 路径编辑参数,前端配置界面提供数据
|
|
71
|
+
*/
|
|
72
|
+
static pathBeginEdit(pathId?: string, pathName?: string, pathEditParam?: PathEditParam): void;
|
|
73
|
+
/**
|
|
74
|
+
* 停止路径编辑
|
|
75
|
+
*/
|
|
76
|
+
static pathEndEdit(): void;
|
|
77
|
+
}
|
|
78
|
+
export {};
|
|
79
|
+
//# 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;AAI7C,KAAK,kBAAkB,GAAG,QAAQ,GAAG,QAAQ,GAAG,KAAK,CAAA;AAKrD,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;AAsBD,qBAAa,UAAW,SAAQ,MAAM;IAClC;;;;;;;;;OASG;IACH,MAAM,CAAC,OAAO,CACV,MAAM,EAAE,MAAM,EACd,gBAAgB,EAAE,gBAAgB,EAClC,MAAM,EAAE,SAAS,EAAE,EACnB,kBAAkB,CAAC,EAAE,kBAAkB,EACvC,SAAS,CAAC,EAAE,MAAM,EAClB,cAAc,CAAC,EAAE,cAAc,EAC/B,SAAS,CAAC,EAAE,SAAS;IAgCzB;;;;;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"}
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 路径方法
|
|
3
|
+
*/
|
|
4
|
+
import { Action } from "./Action";
|
|
5
|
+
export class PathAction extends Action {
|
|
6
|
+
/**
|
|
7
|
+
* 请求三维绘制路径
|
|
8
|
+
* @param pathId 自定义轨迹ID,后面删除的时候用,如果之前有编辑路径,这里就使用编辑路径的时候传入的路径 pathId
|
|
9
|
+
* @param pathDrawBaseType 绘制方式:BaseOnRoadNet 基于路网,使用C++寻路;BaseOnPathEditInfo 基于编辑路径生成的点画路径,不基于路网
|
|
10
|
+
* @param points 路径点数组
|
|
11
|
+
* @param pathPublicUsedType 路径的用途,默认 Normal
|
|
12
|
+
* @param roadNetId 路网的ID,pathDrawBaseType = BaseOnRoadNet的时候,需要传值,如果场景就一个路网,也可以不用传
|
|
13
|
+
* @param rolerMoveParam 沿路径移动的信息
|
|
14
|
+
* @param pathStyle 路径样式
|
|
15
|
+
*/
|
|
16
|
+
static pathAdd(pathId, pathDrawBaseType, points, pathPublicUsedType, roadNetId, rolerMoveParam, pathStyle) {
|
|
17
|
+
const data = {
|
|
18
|
+
action: "add",
|
|
19
|
+
pathId,
|
|
20
|
+
pathPublicUsedType: pathPublicUsedType || 'Normal',
|
|
21
|
+
pathDrawBaseType,
|
|
22
|
+
points,
|
|
23
|
+
};
|
|
24
|
+
// 如果绘制方式是基于路网,且提供了路网ID,则添加
|
|
25
|
+
if (pathDrawBaseType === 'BaseOnRoadNet' && roadNetId) {
|
|
26
|
+
data.roadNetId = roadNetId;
|
|
27
|
+
}
|
|
28
|
+
// 如果提供了沿路径移动参数,则添加
|
|
29
|
+
if (rolerMoveParam) {
|
|
30
|
+
data.rolerMoveParam = rolerMoveParam;
|
|
31
|
+
}
|
|
32
|
+
// 如果提供了路径样式,则添加
|
|
33
|
+
if (pathStyle) {
|
|
34
|
+
data.pathStyle = pathStyle;
|
|
35
|
+
}
|
|
36
|
+
const param = {
|
|
37
|
+
cmd: "path",
|
|
38
|
+
data
|
|
39
|
+
};
|
|
40
|
+
this.sendParam(param, '请求三维绘制路径');
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* 显隐销毁路径
|
|
44
|
+
* @param action 操作类型:show 显示 | hide 隐藏 | remove 删除
|
|
45
|
+
* @param pathId 自定义轨迹ID,同前面,自定义的ID
|
|
46
|
+
* @param module 显隐、删除哪一部分:Edit 编辑的部分 | PathTracer 根据设备点动态生成的路径部分,如果不传,则整个显隐或者删除
|
|
47
|
+
*/
|
|
48
|
+
static pathShowHideRemove(action, pathId, module) {
|
|
49
|
+
const data = {
|
|
50
|
+
action,
|
|
51
|
+
pathId
|
|
52
|
+
};
|
|
53
|
+
// 如果提供了模块类型,则添加
|
|
54
|
+
if (module) {
|
|
55
|
+
data.module = module;
|
|
56
|
+
}
|
|
57
|
+
const param = {
|
|
58
|
+
cmd: "path",
|
|
59
|
+
data
|
|
60
|
+
};
|
|
61
|
+
const actionMap = {
|
|
62
|
+
show: '显示路径',
|
|
63
|
+
hide: '隐藏路径',
|
|
64
|
+
remove: '删除路径'
|
|
65
|
+
};
|
|
66
|
+
this.sendParam(param, actionMap[action]);
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* 移动中更新移动参数
|
|
70
|
+
* @param pathId 自定义轨迹ID
|
|
71
|
+
* @param rolerMoveParam 沿路径移动的参数
|
|
72
|
+
*/
|
|
73
|
+
static pathUpdateMovingParam(pathId, rolerMoveParam) {
|
|
74
|
+
const data = {
|
|
75
|
+
action: 'updateMovingParam',
|
|
76
|
+
pathId,
|
|
77
|
+
rolerMoveParam
|
|
78
|
+
};
|
|
79
|
+
const param = {
|
|
80
|
+
cmd: "path",
|
|
81
|
+
data
|
|
82
|
+
};
|
|
83
|
+
this.sendParam(param, '更新移动参数');
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* 在生成的路径上面移动
|
|
87
|
+
* @param action 操作类型:start 开始移动 | stop 停止移动 | restart 重启移动
|
|
88
|
+
* @param pathId 自定义轨迹ID(仅 start 时需要)
|
|
89
|
+
* @param rolerMoveParam 沿路径移动的参数(仅 start 时需要)
|
|
90
|
+
*/
|
|
91
|
+
static pathMove(action, pathId, rolerMoveParam) {
|
|
92
|
+
const data = {
|
|
93
|
+
action
|
|
94
|
+
};
|
|
95
|
+
// start 操作需要 pathId 和 rolerMoveParam
|
|
96
|
+
if (action === 'start') {
|
|
97
|
+
if (!pathId || !rolerMoveParam) {
|
|
98
|
+
throw new Error('start 操作需要提供 pathId 和 rolerMoveParam');
|
|
99
|
+
}
|
|
100
|
+
data.pathId = pathId;
|
|
101
|
+
data.rolerMoveParam = rolerMoveParam;
|
|
102
|
+
}
|
|
103
|
+
// stop 和 restart 不需要 pathId 和 rolerMoveParam
|
|
104
|
+
const param = {
|
|
105
|
+
cmd: "path",
|
|
106
|
+
data
|
|
107
|
+
};
|
|
108
|
+
const actionMap = {
|
|
109
|
+
start: '开始移动',
|
|
110
|
+
stop: '停止移动',
|
|
111
|
+
restart: '重启移动'
|
|
112
|
+
};
|
|
113
|
+
this.sendParam(param, actionMap[action]);
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* 开启路径编辑
|
|
117
|
+
* @param pathId 自定义轨迹ID,前端配置界面提供数据,为空或者不传,UE自动生成一个
|
|
118
|
+
* @param pathName 路径名称,前端配置界面提供数据,非必须
|
|
119
|
+
* @param pathEditParam 路径编辑参数,前端配置界面提供数据
|
|
120
|
+
*/
|
|
121
|
+
static pathBeginEdit(pathId, pathName, pathEditParam) {
|
|
122
|
+
const data = {
|
|
123
|
+
action: 'beginEdit'
|
|
124
|
+
};
|
|
125
|
+
// 如果提供了 pathId,则添加
|
|
126
|
+
if (pathId) {
|
|
127
|
+
data.pathId = pathId;
|
|
128
|
+
}
|
|
129
|
+
// 如果提供了 pathName,则添加
|
|
130
|
+
if (pathName) {
|
|
131
|
+
data.pathName = pathName;
|
|
132
|
+
}
|
|
133
|
+
// 如果提供了 pathEditParam,则添加
|
|
134
|
+
if (pathEditParam) {
|
|
135
|
+
data.pathEditParam = pathEditParam;
|
|
136
|
+
}
|
|
137
|
+
const param = {
|
|
138
|
+
cmd: "path",
|
|
139
|
+
data
|
|
140
|
+
};
|
|
141
|
+
this.sendParam(param, '开启路径编辑');
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* 停止路径编辑
|
|
145
|
+
*/
|
|
146
|
+
static pathEndEdit() {
|
|
147
|
+
const data = {
|
|
148
|
+
action: 'endEdit'
|
|
149
|
+
};
|
|
150
|
+
const param = {
|
|
151
|
+
cmd: "path",
|
|
152
|
+
data
|
|
153
|
+
};
|
|
154
|
+
this.sendParam(param, '停止路径编辑');
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
//# sourceMappingURL=Path.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Path.js","sourceRoot":"","sources":["../../src/modules/Path.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
declare namespace SpecialKeyCodes {
|
|
2
|
+
let Backspace: number;
|
|
3
|
+
let ShiftLeft: number;
|
|
4
|
+
let ControlLeft: number;
|
|
5
|
+
let AltLeft: number;
|
|
6
|
+
let ShiftRight: number;
|
|
7
|
+
let ControlRight: number;
|
|
8
|
+
let AltRight: number;
|
|
9
|
+
}
|
|
10
|
+
declare namespace MouseButton {
|
|
11
|
+
let MainButton: number;
|
|
12
|
+
let AuxiliaryButton: number;
|
|
13
|
+
let SecondaryButton: number;
|
|
14
|
+
let FourthButton: number;
|
|
15
|
+
let FifthButton: number;
|
|
16
|
+
}
|
|
17
|
+
declare const MouseButtonsMask: {
|
|
18
|
+
1: number;
|
|
19
|
+
2: number;
|
|
20
|
+
4: number;
|
|
21
|
+
8: number;
|
|
22
|
+
16: number;
|
|
23
|
+
};
|
|
24
|
+
declare namespace RECEIVE {
|
|
25
|
+
let QualityControlOwnership: number;
|
|
26
|
+
let Response: number;
|
|
27
|
+
let Command: number;
|
|
28
|
+
let FreezeFrame: number;
|
|
29
|
+
let UnfreezeFrame: number;
|
|
30
|
+
let VideoEncoderAvgQP: number;
|
|
31
|
+
let LatencyTest: number;
|
|
32
|
+
let InitialSettings: number;
|
|
33
|
+
let FileExtension: number;
|
|
34
|
+
let FileMimeType: number;
|
|
35
|
+
let FileContents: number;
|
|
36
|
+
let InputControlOwnership: number;
|
|
37
|
+
let CompositionStart: number;
|
|
38
|
+
let Protocol: number;
|
|
39
|
+
}
|
|
40
|
+
declare namespace SEND {
|
|
41
|
+
export let IFrameRequest: number;
|
|
42
|
+
export let RequestQualityControl: number;
|
|
43
|
+
export let FpsRequest: number;
|
|
44
|
+
export let AverageBitrateRequest: number;
|
|
45
|
+
export let StartStreaming: number;
|
|
46
|
+
export let StopStreaming: number;
|
|
47
|
+
let LatencyTest_1: number;
|
|
48
|
+
export { LatencyTest_1 as LatencyTest };
|
|
49
|
+
export let RequestInitialSettings: number;
|
|
50
|
+
export let UIInteraction: number;
|
|
51
|
+
let Command_1: number;
|
|
52
|
+
export { Command_1 as Command };
|
|
53
|
+
export let KeyDown: number;
|
|
54
|
+
export let KeyUp: number;
|
|
55
|
+
export let KeyPress: number;
|
|
56
|
+
export let FindFocus: number;
|
|
57
|
+
export let CompositionEnd: number;
|
|
58
|
+
export let MouseEnter: number;
|
|
59
|
+
export let MouseLeave: number;
|
|
60
|
+
export let MouseDown: number;
|
|
61
|
+
export let MouseUp: number;
|
|
62
|
+
export let MouseMove: number;
|
|
63
|
+
export let MouseWheel: number;
|
|
64
|
+
export let TouchStart: number;
|
|
65
|
+
export let TouchEnd: number;
|
|
66
|
+
export let TouchMove: number;
|
|
67
|
+
export let GamepadButtonPressed: number;
|
|
68
|
+
export let GamepadButtonReleased: number;
|
|
69
|
+
export let GamepadAnalog: number;
|
|
70
|
+
}
|
|
71
|
+
declare let iceServers: undefined;
|
|
72
|
+
declare class PeerStream extends HTMLVideoElement {
|
|
73
|
+
ws: {
|
|
74
|
+
send(): void;
|
|
75
|
+
close(): void;
|
|
76
|
+
};
|
|
77
|
+
pc: {
|
|
78
|
+
close(): void;
|
|
79
|
+
};
|
|
80
|
+
checkWebRTCSupport(): boolean;
|
|
81
|
+
connectedCallback(): Promise<void>;
|
|
82
|
+
reconnect: number | undefined;
|
|
83
|
+
disconnectedCallback(): void;
|
|
84
|
+
adoptedCallback(): void;
|
|
85
|
+
attributeChangedCallback(name: any, oldValue: any, newValue: any): void;
|
|
86
|
+
onWebSocketMessage(msg: any): Promise<void>;
|
|
87
|
+
mouseReleaseTime: any;
|
|
88
|
+
lastmouseTime: Date | undefined;
|
|
89
|
+
handleGetStatus(msg: any): void;
|
|
90
|
+
onDataChannelMessage(data: any): void;
|
|
91
|
+
VideoEncoderQP: number | undefined;
|
|
92
|
+
QualityControlOwnership: boolean | undefined;
|
|
93
|
+
InitialSettings: any;
|
|
94
|
+
InputControlOwnership: boolean | undefined;
|
|
95
|
+
setupVideo(): void;
|
|
96
|
+
disablepictureinpicture: boolean | undefined;
|
|
97
|
+
setupDataChannel(e: any): void;
|
|
98
|
+
dc: any;
|
|
99
|
+
setupDataChannel_ue4(label?: string): void;
|
|
100
|
+
setupPeerConnection(): void;
|
|
101
|
+
audio: HTMLAudioElement | undefined;
|
|
102
|
+
setupPeerConnection_ue4(): void;
|
|
103
|
+
setupOffer(): Promise<void>;
|
|
104
|
+
keysDown: Set<any>;
|
|
105
|
+
registerKeyboardEvents(): void;
|
|
106
|
+
registerTouchEvents(): void;
|
|
107
|
+
registerFakeMouseEvents(): void;
|
|
108
|
+
registerMouseHoverEvents(): void;
|
|
109
|
+
registerPointerLockEvents(): void;
|
|
110
|
+
registerMouseEnterAndLeaveEvents(): void;
|
|
111
|
+
emitMouseMove(x: any, y: any, deltaX: any, deltaY: any): void;
|
|
112
|
+
emitMouseDown(button: any, x: any, y: any): void;
|
|
113
|
+
emitMouseUp(button: any, x: any, y: any): void;
|
|
114
|
+
emitMouseWheel(delta: any, x: any, y: any): void;
|
|
115
|
+
emitTouchData(type: any, touches: any, fingerIds: any): void;
|
|
116
|
+
emitMessage(msg: any, messageType?: number): Promise<any>;
|
|
117
|
+
normalize(x: any, y: any): {
|
|
118
|
+
inRange: boolean;
|
|
119
|
+
x: number;
|
|
120
|
+
y: number;
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
//# sourceMappingURL=peer-stream.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"peer-stream.d.ts","sourceRoot":"","sources":["../src/peer-stream.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAwBA;;;;;;EAMC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmED,kCAA2B;AAE3B;IAME;;;MAAqC;IACrC;;MAAyB;IAyB1B,8BA6BC;IAGD,mCA2CC;IAFC,8BAAiE;IAInE,6BASC;IAED,wBAAqB;IAErB,wEAIC;IAED,4CA6EC;IAXC,sBAA4C;IAC5C,gCAA+B;IAWjC,gCAoCC;IAED,sCAsGC;IAjGE,mCAAkD;IA6DlD,6CAA4C;IAK5C,qBAA8D;IAK9D,2CAA0C;IA4B7C,mBAgBC;IAZA,6CAAmC;IAcpC,+BAgCC;IA5BA,QAAmB;IA8BpB,2CAqBC;IAED,4BA+BC;IAlBE,oCAA4C;IAoB/C,gCAgCC;IAED,4BAmBC;IAED,mBAAoB;IAEpB,+BAoCC;IAED,4BAmCC;IAGD,gCAsDC;IAED,iCA6BC;IAED,kCA6BC;IAED,yCAcC;IAED,8DAYC;IAED,iDAWC;IAED,+CAQC;IAED,iDAQC;IAED,6DAoBC;IAGD,0DAsBC;IAED;;;;MAgBC;CAGD"}
|