avocado-old/packages/topdown/traits/roomed.trait.js

34 lines
543 B
JavaScript

import {Trait} from '@avocado/entity';
export class Roomed extends Trait {
static type() {
return 'roomed';
}
destroy() {
this.entity.removeFromRoom();
}
methods() {
return {
removeFromRoom: () => {
const room = this.entity.room;
if (!room) {
return;
}
this.entity.room = null;
this.entity.emit('removedFromRoom', room);
},
setIntoRoom: (room) => {
this.entity.room = room;
this.entity.emit('addedToRoom');
},
};
}
}