@aibee/crc-bmap 0.6.4 → 0.6.6

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/lib/src/bmap.d.ts CHANGED
@@ -107,14 +107,14 @@ export declare class BMap extends EventDispatcher<BmapEventMap> {
107
107
  * @param duration
108
108
  * @returns
109
109
  */
110
- reduceMap(zoom?: number, duration?: number): void | Promise<unknown>;
110
+ reduceMap(zoom?: number, duration?: number): Promise<unknown>;
111
111
  /**
112
112
  * 放大地图
113
113
  * @param zoom
114
114
  * @param duration
115
115
  * @returns
116
116
  */
117
- enlargeMap(zoom?: number, duration?: number): void | Promise<unknown>;
117
+ enlargeMap(zoom?: number, duration?: number): Promise<unknown>;
118
118
  onKeydown: (e: KeyboardEvent) => void;
119
119
  onKeyUp: (e: KeyboardEvent) => void;
120
120
  registryEvent(): void;
@@ -126,7 +126,7 @@ export declare class Context extends EventDispatcher<ContextEventMap> {
126
126
  * @param center
127
127
  * @returns
128
128
  */
129
- setZoom(zoom: number, center: Vector3, duration?: number): void | Promise<unknown>;
129
+ setZoom(zoom: number, center: Vector3, duration?: number): Promise<unknown>;
130
130
  getFitCameraToObjectZoom(object: Object3D, padding?: [number, number, number, number], duration?: number, force2DView?: boolean): {
131
131
  zoom: number;
132
132
  center: Vector3;
@@ -138,9 +138,9 @@ export declare class Context extends EventDispatcher<ContextEventMap> {
138
138
  * @param duration
139
139
  * @returns
140
140
  */
141
- fitCameraToObject(object: Object3D, padding?: [number, number, number, number], duration?: number, force2DView?: boolean): void | Promise<unknown>;
141
+ fitCameraToObject(object: Object3D, padding?: [number, number, number, number], duration?: number, force2DView?: boolean): Promise<unknown>;
142
142
  getFitCameraToGroundZoom(padding?: [number, number, number, number], duration?: number, force2DView?: boolean): number | undefined;
143
- fitCameraToGround(padding?: [number, number, number, number], duration?: number, force2DView?: boolean): void | Promise<unknown>;
143
+ fitCameraToGround(padding?: [number, number, number, number], duration?: number, force2DView?: boolean): Promise<unknown>;
144
144
  /**
145
145
  * 修改相机位置
146
146
  * @param position 修改后的相机的位置
@@ -41,7 +41,7 @@ export declare class Control extends MapControls {
41
41
  * @param center
42
42
  * @returns
43
43
  */
44
- setZoomByDuration(zoom: number, center: Vector3, force?: boolean, duration?: number): void | Promise<unknown>;
44
+ setZoomByDuration(zoom: number, center: Vector3, force?: boolean, duration?: number): Promise<unknown>;
45
45
  setTargetByOffset(offsetY: number, target?: Vector3): void;
46
46
  clearTween(): void;
47
47
  dispose(): void;
@@ -5,6 +5,7 @@ import { PathData2, TweenUtil, PathData } from "../../utils";
5
5
  import { Floor, Poi2, PoiOptions2 } from "../../elements";
6
6
  import { Tween } from "@tweenjs/tween.js";
7
7
  import { NavigationProcessInfo, PositionNavigation, PositionNavigationConfig } from "./position-navigation";
8
+ import TaskQueue from "src/utils/taskQueue";
8
9
  export type Point = [number, number];
9
10
  export { NavigationProcessInfo };
10
11
  interface EventMap {
@@ -50,7 +51,7 @@ export declare class Navigation extends Plugin<EventMap> {
50
51
  movedDistance: number;
51
52
  pathStart: [number, number];
52
53
  tweenUtil: TweenUtil;
53
- toPositionPromise?: Promise<any> | null;
54
+ taskQueue: TaskQueue;
54
55
  animationPathOptions: {
55
56
  cPathIndex: number;
56
57
  };
@@ -63,6 +64,7 @@ export declare class Navigation extends Plugin<EventMap> {
63
64
  onNavigationInfo: ({ info }: {
64
65
  info: NavigationProcessInfo;
65
66
  }) => void;
67
+ toPositionByTask(pos: [number, number]): void;
66
68
  pauseAnimation(): void;
67
69
  continueAnimation(): void;
68
70
  clearTween(): void;
@@ -83,7 +85,7 @@ export declare class Navigation extends Plugin<EventMap> {
83
85
  getPathDirection(): number | null;
84
86
  changeCameraToPathUp(duration?: number): Promise<unknown>;
85
87
  initNavigationCamera(duration?: number): Promise<void>;
86
- translateCameraToStartPoi(duration?: number): Promise<unknown>;
88
+ translateCameraToStartPoi(duration?: number): Promise<void>;
87
89
  initCameraZoom(duration?: number): Promise<unknown>;
88
90
  toPosition(floor: string, pos: [number, number]): void;
89
91
  startSimulation(): void;
@@ -0,0 +1,83 @@
1
+ import { EventDispatcher } from "three";
2
+ export interface Task {
3
+ run: () => any;
4
+ meta: Record<string, any>;
5
+ tid: number;
6
+ }
7
+ interface TaskEventMap {
8
+ "active-task-end": {
9
+ task: Task;
10
+ };
11
+ "active-task-start": {
12
+ task: Task;
13
+ };
14
+ }
15
+ /**
16
+ * 按照队列执行任务
17
+ */
18
+ export default class TaskQueue extends EventDispatcher<TaskEventMap> {
19
+ _task: Task[];
20
+ started: boolean;
21
+ activeTask: Task | null;
22
+ _id: number;
23
+ constructor(start?: boolean);
24
+ /**
25
+ * 判断任务是否有效
26
+ * @param task
27
+ * @return {boolean}
28
+ * @private
29
+ */
30
+ _isEffectiveTask(task: MakeOptional<Task, "meta" | "tid">): task is Task;
31
+ /**
32
+ * 根据tid获取元素的位置
33
+ * @param tid
34
+ * @return {number}
35
+ * @private
36
+ */
37
+ _getIndexByTid(tid: number): number;
38
+ /**
39
+ * 创建任务
40
+ * @param task
41
+ * @private
42
+ */
43
+ _createTask(task: Task): Task | false;
44
+ get task(): Task[];
45
+ /**
46
+ * 获取当前队列中的任务
47
+ */
48
+ getTasks(): Task[];
49
+ /**
50
+ * 添加任务
51
+ * @param task
52
+ * @return
53
+ */
54
+ add(task: MakeOptional<Task, "meta" | "tid">): number | false;
55
+ /**
56
+ * 替换队列中的某个任务
57
+ * @param id
58
+ * @param task
59
+ */
60
+ replace(id: number, task: MakeOptional<Task, "meta" | "tid">): number | false;
61
+ /**
62
+ * 根据id删除对应的task
63
+ * @param id
64
+ */
65
+ remove(id: number): boolean;
66
+ /**
67
+ * 清空队列
68
+ */
69
+ clear(): void;
70
+ /**
71
+ * 开始执行任务,默认在构造函数中执行
72
+ */
73
+ start(): void;
74
+ /**
75
+ * 停止执行队列中的任务,不包括当前执行中的任务
76
+ */
77
+ stop(): void;
78
+ /**
79
+ * 从任务队列中的第一个任务开始执行
80
+ */
81
+ exec(): Promise<false>;
82
+ }
83
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aibee/crc-bmap",
3
- "version": "0.6.4",
3
+ "version": "0.6.6",
4
4
  "description": "",
5
5
  "main": "lib/bmap.min.js",
6
6
  "module": "lib/bmap.esm.js",