Skip to content

Commit dfccece

Browse files
committed
update to bevy 0.17
1 parent c587577 commit dfccece

6 files changed

Lines changed: 28 additions & 21 deletions

File tree

Cargo.toml

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[package]
22
name = "bevy_tween"
33
description = "Flexible tweening plugin library for Bevy"
4-
version = "0.9.1"
4+
version = "0.10.0"
55
edition = "2024"
66
authors = ["Multirious", "Rabbival"]
77
license = "MIT OR Apache-2.0"
@@ -18,17 +18,17 @@ resolver = "2"
1818
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
1919

2020
[dependencies.bevy]
21-
version = "0.16.1"
21+
version = "0.17.1"
2222
default-features = false
2323
features = ["std"]
2424

2525
[dependencies.bevy_math]
26-
version = "0.16.1"
26+
version = "0.17.1"
2727
default-features = false
2828
features = ["curve"]
2929

3030
[dependencies.bevy_time_runner]
31-
version = "0.4.1"
31+
version = "0.5.0"
3232

3333
[dependencies.serde]
3434
version = "1"
@@ -44,11 +44,11 @@ version = "0.9.0"
4444
optional = true
4545

4646
[dev-dependencies]
47-
bevy-inspector-egui = "0.32.0"
47+
bevy-inspector-egui = "0.34.0"
4848
rand = "0.9.1"
4949

5050
[dev-dependencies.bevy]
51-
version = "0.16.1"
51+
version = "0.17.1"
5252
default-features = false
5353
features = [
5454
"bevy_window",
@@ -58,6 +58,7 @@ features = [
5858
"hdr",
5959
"tonemapping_luts",
6060
"png",
61+
"bevy_sprite_render"
6162
]
6263

6364
[build-dependencies]
@@ -68,6 +69,7 @@ default = [
6869
"bevy_asset",
6970
"bevy_render",
7071
"bevy_sprite",
72+
"bevy_sprite_render",
7173
"bevy_ui",
7274
]
7375

@@ -77,6 +79,8 @@ bevy_asset = ["bevy/bevy_asset"]
7779
bevy_render = ["bevy/bevy_render"]
7880
# Add some built-in interpolators related to sprite
7981
bevy_sprite = ["bevy/bevy_sprite"]
82+
# Add some built-in interpolators related to sprite render
83+
bevy_sprite_render = ["bevy/bevy_sprite_render"]
8084
# Adds some built-in interpolators related to ui
8185
bevy_ui = ["bevy/bevy_ui"]
8286
# Supports for `bevy_lookup_curve` (https://github.com/villor/bevy_lookup_curve)

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ See changelog [here](CHANGELOG.md).
2121
<summary>Example</summary>
2222

2323
```rust
24-
let sprite_id = commands.spawn(SpriteBundle { ... }).id();
24+
let sprite_id = commands.spawn(Sprite { ... }).id();
2525
let sprite = sprite_id.into_target();
2626
commands.animation()
2727
.insert(tween(
@@ -111,6 +111,7 @@ How it works:
111111

112112
| `bevy` | `bevy_tween` |
113113
|--------|--------------|
114+
| 0.17 | 0.10 |
114115
| 0.16 | 0.8 - 0.9 |
115116
| 0.15 | 0.7 |
116117
| 0.14 | 0.6 |

src/interpolate.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -281,9 +281,9 @@ impl Plugin for DefaultDynInterpolatorsPlugin {
281281
>(),
282282
));
283283

284-
#[cfg(all(feature = "bevy_sprite", feature = "bevy_asset",))]
284+
#[cfg(all(feature = "bevy_sprite", feature = "bevy_asset", feature = "bevy_sprite_render"))]
285285
app.add_tween_systems(tween::asset_tween_system::<
286-
BoxedInterpolator<bevy::sprite::ColorMaterial>,
286+
BoxedInterpolator<bevy::sprite_render::ColorMaterial>,
287287
>());
288288
}
289289
}

src/interpolate/sprite.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ pub struct ColorMaterial {
7171
}
7272

7373
impl Interpolator for ColorMaterial {
74-
type Item = bevy::sprite::ColorMaterial;
74+
type Item = bevy::sprite_render::ColorMaterial;
7575

7676
fn interpolate(&self, item: &mut Self::Item, value: f32, previous_value: f32) {
7777
if self.delta {

src/interpolate/ui.rs

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -71,13 +71,15 @@ impl Interpolator for BorderColor {
7171
type Item = bevy::prelude::BorderColor;
7272

7373
fn interpolate(&self, item: &mut Self::Item, value: f32, previous_value: f32) {
74-
if self.delta {
75-
let previous_color_as_vec = self.start.mix(&self.end, previous_value).to_linear();
76-
let next_color_as_vec = self.start.mix(&self.end, value).to_linear();
77-
let updated_color = item.0.to_linear() + (next_color_as_vec - previous_color_as_vec);
78-
item.0 = updated_color.into();
79-
}else{
80-
item.0 = self.start.mix(&self.end, value)
74+
for color in [&mut item.top, &mut item.right, &mut item.bottom, &mut item.left]{
75+
if self.delta {
76+
let previous_color_as_vec = self.start.mix(&self.end, previous_value).to_linear();
77+
let next_color_as_vec = self.start.mix(&self.end, value).to_linear();
78+
let updated_color = color.to_linear() + (next_color_as_vec - previous_color_as_vec);
79+
*color = updated_color.into();
80+
}else{
81+
*color = self.start.mix(&self.end, value)
82+
}
8183
}
8284
}
8385
}

src/tween_event.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ where
5656
(tween_event_system::<Data>)
5757
.in_set(crate::TweenSystemSet::ApplyTween),
5858
)
59-
.add_event::<TweenEvent<Data>>();
59+
.add_message::<TweenEvent<Data>>();
6060
}
6161
}
6262

@@ -98,7 +98,7 @@ impl TweenEventData<()> {
9898

9999
/// Fires whenever [`TimeSpanProgress`] and [`TweenEventData`] exist in the same entity
100100
/// by [`tween_event_system`].
101-
#[derive(Debug, Clone, PartialEq, Event, Reflect)]
101+
#[derive(Debug, Clone, PartialEq, Message, Reflect, EntityEvent)]
102102
pub struct TweenEvent<Data = ()> {
103103
/// Custom user data
104104
pub data: Data,
@@ -125,7 +125,7 @@ pub fn tween_event_system<Data>(
125125
),
126126
Without<SkipTween>,
127127
>,
128-
mut event_writer: EventWriter<TweenEvent<Data>>,
128+
mut event_writer: MessageWriter<TweenEvent<Data>>,
129129
) where
130130
Data: Clone + Send + Sync + 'static,
131131
{
@@ -137,7 +137,7 @@ pub fn tween_event_system<Data>(
137137
interpolation_value: interpolation_value.map(|v| v.0),
138138
entity,
139139
};
140-
commands.trigger_targets(event.clone(), entity);
140+
commands.trigger(event.clone());
141141
event_writer.write(event);
142142
},
143143
);

0 commit comments

Comments
 (0)