avocado-old/packages/topdown/traits/roomed.trait.js
2019-05-26 12:03:24 -05:00

33 lines
576 B
JavaScript

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