2019-04-14 20:21:52 -05:00
|
|
|
import {Trait} from '@avocado/entity';
|
2019-03-27 01:03:05 -05:00
|
|
|
|
|
|
|
export class Layered extends Trait {
|
|
|
|
|
2019-05-05 04:26:35 -05:00
|
|
|
static type() {
|
|
|
|
return 'layered';
|
|
|
|
}
|
|
|
|
|
2019-05-06 04:03:43 -05:00
|
|
|
constructor(entity, params, state) {
|
|
|
|
super(entity, params, state);
|
2019-03-27 01:03:05 -05:00
|
|
|
this._layer = undefined;
|
|
|
|
}
|
|
|
|
|
|
|
|
destroy() {
|
|
|
|
delete this._layer;
|
|
|
|
this.entity.emit('removedFromLayer');
|
|
|
|
}
|
|
|
|
|
|
|
|
get layer() {
|
|
|
|
return this._layer;
|
|
|
|
}
|
|
|
|
|
|
|
|
set layer(layer) {
|
|
|
|
this._layer = layer;
|
|
|
|
this.entity.emit('addedToLayer');
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|