2019-03-17 23:45:48 -05:00
|
|
|
import {compose} from '@avocado/core';
|
|
|
|
|
2019-03-23 23:24:18 -05:00
|
|
|
import {StateProperty, Trait} from '../trait';
|
2019-03-17 23:45:48 -05:00
|
|
|
|
|
|
|
const decorate = compose(
|
2019-03-23 23:24:18 -05:00
|
|
|
StateProperty.Vector('position', 'x', 'y', {
|
2019-03-18 20:05:00 -05:00
|
|
|
track: true,
|
|
|
|
}),
|
2019-03-17 23:45:48 -05:00
|
|
|
);
|
|
|
|
|
|
|
|
class PositionedBase extends Trait {
|
|
|
|
|
|
|
|
static defaultState() {
|
|
|
|
return {
|
|
|
|
x: 0,
|
|
|
|
y: 0,
|
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
export class Positioned extends decorate(PositionedBase) {}
|