Ver Fonte

mol-plugin: animation tweaks

David Sehnal há 6 anos atrás
pai
commit
7a838d1342
2 ficheiros alterados com 9 adições e 1 exclusões
  1. 1 0
      src/mol-plugin/state.ts
  2. 8 1
      src/mol-plugin/state/animation/manager.ts

+ 1 - 0
src/mol-plugin/state.ts

@@ -44,6 +44,7 @@ class PluginState {
 
     getSnapshot(params?: PluginState.GetSnapshotParams): PluginState.Snapshot {
         const p = { ...PluginState.DefaultGetSnapshotParams, ...params };
+        console.log(p.animation, this.animation.getSnapshot());
         return {
             id: UUID.create22(),
             data: p.data ? this.dataState.getSnapshot() : void 0,

+ 8 - 1
src/mol-plugin/state/animation/manager.ts

@@ -176,9 +176,16 @@ class PluginAnimationManager extends PluginComponent<PluginAnimationManager.Stat
         }
     }
 
-    private resume() {
+    private async resume() {
         this._current.lastTime = 0;
         this._current.startedTime = -1;
+        const anim = this._current.anim;
+        if (!this.context.behaviors.state.isAnimating.value) {
+            this.context.behaviors.state.isAnimating.next(true);
+        }
+        if (anim.setup) {
+            await anim.setup(this._current.paramValues, this.context);
+        }
         requestAnimationFrame(this.animate);
     }