lingo3d
Version:
Lingo3D is a React/Vue 3d game development framework that ships with a complete visual editor
31 lines • 1.22 kB
JavaScript
import root from "../../api/root";
import { serializeAppendable } from "../../api/serializer/serialize";
import { pushUndoStack } from "../../api/undoStack";
import { multipleSelectionTargets } from "../../collections/multipleSelectionTargets";
import Group from "../../display/Group";
import { emitSelectionTarget } from "../../events/onSelectionTarget";
import { multipleSelectionGroupPtr } from "../../pointers/multipleSelectionGroupPtr";
export default () => {
const [group] = multipleSelectionGroupPtr;
if (!group)
return;
const consolidatedGroup = new Group();
consolidatedGroup.position.copy(group.position);
const commandChildren = [];
const commandParents = [];
for (const target of multipleSelectionTargets) {
commandChildren.push(target.uuid);
commandParents.push((target.parent ?? root).uuid);
consolidatedGroup.attach(target);
}
emitSelectionTarget(consolidatedGroup);
pushUndoStack({
[consolidatedGroup.uuid]: {
command: "group",
...serializeAppendable(consolidatedGroup, false, true),
commandChildren,
commandParents
}
});
};
//# sourceMappingURL=groupSelected.js.map