bg2e-js 2.3.10 → 2.3.12

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bg2e-js",
3
- "version": "2.3.10",
3
+ "version": "2.3.12",
4
4
  "description": "a graphics engine for productivity applications",
5
5
  "main": "./dist/bg2e-js.js",
6
6
  "types": "./src/index.ts",
@@ -26,6 +26,7 @@ export default class SelectionManager {
26
26
  protected _selectionIdVisitor: SelectionIdAssignVisitor | null = null;
27
27
  protected _downPosition: Vec = new Vec();
28
28
  protected _viewportSize: [number, number] = [1, 1];
29
+ protected _enabled: boolean = true;
29
30
 
30
31
  constructor(renderer: Renderer) {
31
32
  this._renderer = renderer;
@@ -54,6 +55,25 @@ export default class SelectionManager {
54
55
  return this._selection;
55
56
  }
56
57
 
58
+ enable() {
59
+ this.enabled = true;
60
+ }
61
+
62
+ disable() {
63
+ this.enabled = false;
64
+ }
65
+
66
+ get enabled() {
67
+ return this._enabled;
68
+ }
69
+
70
+ set enabled(value: boolean) {
71
+ this._enabled = value;
72
+ if (!this._enabled) {
73
+ this.clearSelection();
74
+ }
75
+ }
76
+
57
77
  clearSelection() {
58
78
  this._selection.forEach(item => item.polyList.selected = false);
59
79
  this._selection = [];
@@ -96,6 +116,14 @@ export default class SelectionManager {
96
116
  return this._selectionMode;
97
117
  }
98
118
 
119
+ setSelectionMode(mode: SelectionMode) {
120
+ this.selectionMode = mode;
121
+ }
122
+
123
+ setMultiSelectMode(mode: boolean) {
124
+ this.multiSelectMode = mode;
125
+ }
126
+
99
127
  set multiSelectMode(mode) {
100
128
  this._multiSelect = mode;
101
129
  this.clearSelection();
@@ -116,7 +144,7 @@ export default class SelectionManager {
116
144
  }
117
145
 
118
146
  mouseUp(evt: { x: number; y: number }) {
119
- if (!this._selectionBuffer || !this._selectionIdVisitor || !this.camera || !this.sceneRoot) {
147
+ if (!this._selectionBuffer || !this._selectionIdVisitor || !this.camera || !this.sceneRoot || !this.enabled) {
120
148
  return;
121
149
  }
122
150