#[cfg(feature = "bevy")]
use bevy::prelude::Vec2;
pub fn tween(value_1: f32, value_2: f32, slider: f32) -> f32 {
value_1 + (value_2 - value_1) * slider
}
pub trait Tween {
fn tween(&mut self, value_1: &Self, value_2: &Self, slider: f32);
}
impl Tween for f32 {
fn tween(&mut self, value_1: &Self, value_2: &Self, slider: f32) {
*self = value_1 + (*value_2 - *value_1) * slider;
}
}
#[cfg(feature = "bevy")]
impl Tween for Vec2 {
fn tween(&mut self, value_1: &Self, value_2: &Self, slider: f32) {
self.x.tween(&value_1.x, &value_2.x, slider);
self.y.tween(&value_1.y, &value_2.y, slider);
}
}