Skip to content
Snippets Groups Projects
  1. Mar 08, 2023
  2. Nov 14, 2022
  3. Nov 09, 2022
    • Jerome Humbert's avatar
      Add completion event/callback on `Delay<T>` (#73) · e6bdbbce
      Jerome Humbert authored
      Change `Delay` into `Delay<T>`, and add support for raising a completion
      event or callback.
      
      Bug: #69
      e6bdbbce
    • Jerome Humbert's avatar
      Fix `bevy_text` plugin registration (#72) · e1f74a2c
      Jerome Humbert authored
      Fix registration of the `component_animator_system::<Text>` in the
      `TweeningPlugin` to depend on the new `bevy_text` feature, and not on
      the `bevy_ui` one.
      e1f74a2c
    • Jerome Humbert's avatar
      Fix incorrect change detection triggering (#71) · a3fecb10
      Jerome Humbert authored
      Ensure change detection on components and assets is only triggered when
      an animator effectively modifies said component or asset, and not
      invariably just by the simple fact of the animator ticking each frame.
      
      This change modifies the signature of the `component_animator_system()`
      and `asset_animator_system()` public functions to directly consume a
      `ResMut<Events<TweenCompleted>>` instead of an
      `EventWriter<TweenCompleted>`, to work around some internal limitations.
      
      It also publicly exposes a new `Targetable` trait used to work around
      the impossibility to retrieve a `Mut<T>` from a `Mut<Assets<T>>`.
      Instead, the trait provides an "target dereferencing" method
      `target_mut()` which dereferences the target component or asset, and
      triggers its change detection. The trait is implemented for all
      components via the `ComponentTarget` object, and for all assets via the
      `AssetTarget` object. The 3 types described here are publicly exposed to
      workaround some Bevy limitations, and because the trait appears in the
      public `Tweenable<T>` API. However users are discouraged from taking
      strong dependencies on those, as they will be removed once Bevy provides
      a way to achieve this conditionaly dereferencing without this
      workaround.
      
      Fixes #33
      a3fecb10
  4. Oct 01, 2022
    • Jerome Humbert's avatar
      Fix animator speed feature (#63) · 4c2f49da
      Jerome Humbert authored
      Fix the animator speed applying, which got broken as part of the
      refactor of #44.
      
      Add a `speed()` getter to both `Animator<T>` and `AssetAnimator<T>`.
      
      Add some simple test for speed, but this is not enough to make sure the
      feature doesn't regress, so logged #62 to follow-up with a proper
      regression test.
      
      Fixes #61
      4c2f49da
  5. Aug 12, 2022
  6. Aug 04, 2022
    • Jerome Humbert's avatar
      Upgrade to Bevy 0.8 · 0b69cdb6
      Jerome Humbert authored
      Upgrade to the latest released version 0.8.0 of Bevy.
      
      Add a new `bevy_asset` feature to enable animation of Bevy assets
      (types implementing the `Asset` trait). Bevy 0.8 does not contain
      `bevy_asset` in its defaul features, so this new feature reflects that
      new possibility to build Bevy and í½ƒ Bevy Tweening without support
      for the `bevy_asset` crate. The new feature is enabled by default for
      discoverability and to prevent a behavior breaking change.
      0b69cdb6
  7. Jun 14, 2022
  8. May 17, 2022
  9. May 14, 2022
    • Alex Saveau's avatar
      Add speed modifier (#22) · 454bcd00
      Alex Saveau authored
      It needs to be built-in because otherwise you have to completely recreate the animation to change the speed.
      454bcd00
  10. Apr 23, 2022
  11. Mar 19, 2022
    • Nathan Wilson's avatar
      Fixed typo; 'eature' to 'feature'. (#10) · 8473330a
      Nathan Wilson authored
      8473330a
    • Jerome Humbert's avatar
      Tighter dependencies with features (#9) · 6619f067
      Jerome Humbert authored
      Enable minimal dependencies with new features `bevu_sprite` and
      `bevy_ui`, removing the `bevy/render` mandatory dependency. Those new
      features are enabled by default, and enable the built-in lenses for the
      related Bevy crates. The core `bevy_tweening` crate itself does not take
      any optional Bevy dependency anymore, allowing for a slim build with
      only the core Bevy functionalities.
      6619f067
  12. Mar 05, 2022
  13. Feb 16, 2022
    • Jerome Humbert's avatar
      Add `TweenCompleted` event · e31e76dc
      Jerome Humbert authored
      Add a mechanism to `Tween<T>` to raise a Bevy event once the tween
      completed. The event raising can be enabled with `set_completed_event()`
      and `with_completed_event()`. The `TweenCompleted` event contains the
      `Entity` on which the `Animator<T>` or `AssetAnimator<T>` owning the
      tween are attached.
      
      Update the `sequence` example to show how to use that new event
      mechanism.
      e31e76dc
  14. Feb 14, 2022
  15. Feb 13, 2022
    • Jerome Humbert's avatar
      Clarify and increase control on playback state · 38e99394
      Jerome Humbert authored
      Add some new methods and refactor some existing ones to clarify the
      playback state of a tweenable, and give increased control to the
      `Animator` or `AssetAnimator` to rewind a tweenable, set its progress to
      an arbitrary value, or query its current state.
      38e99394
  16. Feb 12, 2022
    • Jerome Humbert's avatar
      `Tweenable`-based design · d3b5f1be
      Jerome Humbert authored
      Add a `Tweenable<T>` trait describing a generic animatable tween-like
      element.
      
      Expose the three types of tweenables and implement `Tweenable<T>` for
      them:
      - `Tween<T>`, a single animation
      - `Sequence<T>`, a sequence of consecutive animations
      - `Tracks<T>`, a batch of animations running in parallel
      
      Clean-up animators to hold a single top-level `Tweenable<T>` and let the
      user build any kind of animation hierarchy for themselves.
      d3b5f1be
  17. Jan 29, 2022
  18. Jan 28, 2022
  19. Jan 27, 2022
Loading