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

30 lines
474 B
JavaScript
Raw Normal View History

2019-04-14 20:21:52 -05:00
import {Trait} from '@avocado/entity';
2019-03-27 01:03:05 -05:00
export class Roomed extends Trait {
2019-05-05 04:26:35 -05:00
static type() {
return 'roomed';
}
constructor(entity, params, state) {
super(entity, params, state);
2019-03-27 01:03:05 -05:00
this._room = undefined;
}
destroy() {
2019-04-05 11:25:26 -05:00
const room = this._room;
2019-03-27 01:03:05 -05:00
delete this._room;
2019-04-05 11:25:26 -05:00
this.entity.emit('removedFromRoom', room);
2019-03-27 01:03:05 -05:00
}
get room() {
return this._room;
}
set room(room) {
this._room = room;
this.entity.emit('addedToRoom');
}
}