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

30 lines
474 B
JavaScript

import {Trait} from '@avocado/entity';
export class Roomed extends Trait {
static type() {
return 'roomed';
}
constructor(entity, params, state) {
super(entity, params, state);
this._room = undefined;
}
destroy() {
const room = this._room;
delete this._room;
this.entity.emit('removedFromRoom', room);
}
get room() {
return this._room;
}
set room(room) {
this._room = room;
this.entity.emit('addedToRoom');
}
}