-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathWorldCommands.js
More file actions
84 lines (47 loc) · 1.27 KB
/
WorldCommands.js
File metadata and controls
84 lines (47 loc) · 1.27 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
class WorldCommand {
constructor(world, options) {
this._world = world;
this._options = options;
}
execute() {
}
}
export class ToggleTransformModeCommand extends WorldCommand {
execute() {
const w = this._world;
if(w.selectionMode == w.selectionModes.TRANSFORM) {
w.setSelectionMode(w.selectionModes.OBJECT);
}
else {
w.setSelectionMode(w.selectionModes.TRANSFORM);
}
}
}
export class GroupCommand extends WorldCommand {
execute() {
this._world.group(this._options.groups);
}
}
export class LockGroupCommand extends WorldCommand {
execute() {
const w = this._world;
this._options.group.toggleBodyFixed();
if(w.selectionMode === w.selectionModes.TRANSFORM) {
w.setSelectionMode(w.selectionModes.OBJECT);
}
}
}
export class FocusCommand extends WorldCommand {
execute() {
const w = this._world;
if(this._options.group) {
w.controls.focus(this._options.group.obj);
}
}
}
export class SelectGroupCommand extends WorldCommand {
execute() {
const w = this._world;
w.selectGroup(this._options.group, false);
}
}