@woosh/meep-engine
Version:
Pure JavaScript game engine. Fully featured and production ready.
40 lines (34 loc) • 1.23 kB
JavaScript
import {Keyframe} from "../Keyframe.js";
import ObservedValue from "../../../../core/model/ObservedValue.js";
import List from "../../../../core/collection/list/List.js";
import ObservedBoolean from "../../../../core/model/ObservedBoolean.js";
export class KeyframeStateManager {
/**
* Currently focused (active) keyframe.
* @type {ObservedValue<Keyframe>}
*/
observedActiveKeyframe = new ObservedValue(null);
/**
* Store currently selected keyframe(s)
* @type {List}
*/
selectedKeyframes = new List();
/**
* Target state for keyframe selection action processor
* @type {List}
*/
curKeyframeList = new List();
/**
* Snapshot of state prior to keyframe selection action processor
* @type {List}
*/
prevKeyframeList = new List();
keyframeViews = new Map();
/**
* Boolean for tangent alignment: free (False) or match (True)
* @type {ObservedBoolean}
*/
tangentAlignmentEnabled = new ObservedBoolean();
// Constants
NULL_KEYFRAME = new Keyframe()
}