UNPKG

@woosh/meep-engine

Version:

Pure JavaScript game engine. Fully featured and production ready.

47 lines (35 loc) 1.1 kB
import { Transform } from "../../../src/engine/ecs/transform/Transform.js"; import { Action } from "../../../src/core/process/undo/Action.js"; class TransformModifyAction extends Action { /** * * @param entity * @param {Transform} modified * @constructor */ constructor(entity, modified) { super(); this.oldState = null; this.modified = modified; this.entity = entity; } computeByteSize() { return 280; } /** * * @param {Editor} editor */ async apply(editor) { const entityManager = editor.engine.entityManager; const component = entityManager.getComponent(this.entity, Transform); this.oldState = component.clone(); component.copy(this.modified); } async revert(editor) { const entityManager = editor.engine.entityManager; const component = entityManager.getComponent(this.entity, Transform); component.copy(this.oldState); } } export default TransformModifyAction;