feat: existent::transition
This commit is contained in:
parent
d658dc45ed
commit
2d00328ebd
|
@ -1,4 +1,5 @@
|
|||
import {compose} from '@avocado/core';
|
||||
import {compose, TickingPromise} from '@avocado/core';
|
||||
import {TransitionResult} from '@avocado/mixins';
|
||||
|
||||
import {StateProperty, Trait} from '../trait';
|
||||
|
||||
|
@ -29,6 +30,22 @@ class ExistentBase extends Trait {
|
|||
this.entity.emit('destroyed');
|
||||
},
|
||||
|
||||
transition: (props, duration, easing) => {
|
||||
const result = new TransitionResult(
|
||||
this.entity,
|
||||
props,
|
||||
duration,
|
||||
easing
|
||||
);
|
||||
const promise = new TickingPromise((resolve) => {
|
||||
resolve(result.promise);
|
||||
});
|
||||
promise.ticker = (elapsed) => {
|
||||
result.tick(elapsed);
|
||||
}
|
||||
return promise;
|
||||
},
|
||||
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
export {EventEmitterMixin as EventEmitter} from './event-emitter';
|
||||
export {LfoMixin as Lfo} from './lfo';
|
||||
export {PropertyMixin as Property} from './property';
|
||||
export {TransitionMixin as Transition} from './transition';
|
||||
export {TransitionMixin as Transition, TransitionResult} from './transition';
|
||||
|
|
|
@ -28,6 +28,7 @@
|
|||
// compatible.
|
||||
|
||||
import TransitionResult from './result';
|
||||
export {TransitionResult};
|
||||
|
||||
export function TransitionMixin(Superclass) {
|
||||
return class Transition extends Superclass {
|
||||
|
|
Loading…
Reference in New Issue
Block a user