private Ee()
 {
     RenderingCommands    = new EeRenderingCommands();
     AnimationEditorState = new EeAnimationEditorState();
     Metadata             = new EeMetadata();
     PreviewHandler       = new EePreviewHandler(RenderingCommands, AnimationEditorState, Metadata);
     SelectionCommands    = new EeSelectionCommands(AnimationEditorState, PreviewHandler);
     EditCommands         = new EeEditCommands(AnimationEditorState, Metadata, PreviewHandler);
     PreviewCommands      = new EePreviewCommands(AnimationEditorState, PreviewHandler);
     AccessCommands       = new EeAccessCommands(AnimationEditorState, Metadata, PreviewHandler);
     Hooks = new EeHooks();
 }
        public EePreviewHandler(EeRenderingCommands renderingCommands, EeAnimationEditorState state, EeMetadata metadata)
        {
            _renderingCommands = renderingCommands;
            _state             = state;
            _metadata          = metadata;
            _renderingCommands.SetQueueEmptiedAction(() =>
            {
                if (!_state.Maintain)
                {
                    return;
                }

                var dummy = _state.InternalDummyOptional();
                if (!dummy.HasValue)
                {
                    return;
                }
                Maintain(dummy.Value);
            });
        }
 public EeEditCommands(EeAnimationEditorState state, EeMetadata metadata, EePreviewHandler previewHandler)
 {
     _state          = state;
     _metadata       = metadata;
     _previewHandler = previewHandler;
 }