35 lines
523 B
JavaScript
35 lines
523 B
JavaScript
import {Actions} from './actions';
|
|
|
|
export class Routine {
|
|
|
|
constructor() {
|
|
this._context = undefined;
|
|
this.actions = new Actions();
|
|
}
|
|
|
|
set context(context) {
|
|
this._context = context;
|
|
}
|
|
|
|
clone(other) {
|
|
this.actions = other.actions.clone();
|
|
}
|
|
|
|
fromJSON(json) {
|
|
this.actions.fromJSON(json.routine);
|
|
return this;
|
|
}
|
|
|
|
tick(elapsed) {
|
|
this.actions.tick(this._context, elapsed);
|
|
}
|
|
|
|
toJSON() {
|
|
return {
|
|
type: 'routine',
|
|
actions: this.actions.toJSON(),
|
|
}
|
|
}
|
|
|
|
}
|