1#[cfg(feature = "bevy")]
2use bevy::prelude::Vec2;
3
4pub fn tween(value_1: f32, value_2: f32, slider: f32) -> f32 {
9 value_1 + (value_2 - value_1) * slider
10}
11
12pub trait Tween {
15 fn tween(&mut self, value_1: &Self, value_2: &Self, slider: f32);
20}
21
22
23impl Tween for f32 {
24 fn tween(&mut self, value_1: &Self, value_2: &Self, slider: f32) {
25 *self = value_1 + (*value_2 - *value_1) * slider;
26 }
27}
28
29#[cfg(feature = "bevy")]
30impl Tween for Vec2 {
31 fn tween(&mut self, value_1: &Self, value_2: &Self, slider: f32) {
32 self.x.tween(&value_1.x, &value_2.x, slider);
33 self.y.tween(&value_1.y, &value_2.y, slider);
34 }
35}