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'); }, }; } }