@woosh/meep-engine
Version:
Pure JavaScript game engine. Fully featured and production ready.
28 lines (23 loc) • 748 B
JavaScript
import { Action } from "../../../src/core/process/undo/Action.js";
class SelectionRemoveAction extends Action {
constructor(entities) {
super();
this.oldState = null;
this.entities = entities;
}
async apply(editor) {
const selection = editor.selection;
this.oldState = selection.clone();
for (let i = 0; i < this.entities.length; i++) {
const entity = this.entities[i];
const index = selection.indexOf(entity);
if (index !== -1) {
selection.remove(index);
}
}
}
async revert(editor) {
editor.selection.copy(this.oldState);
}
}
export default SelectionRemoveAction;