use crate::prelude::*;
use bevy_derive::{Deref, DerefMut};
use bevy_ecs::prelude::*;
use bevy_reflect::Reflect;
#[derive(Component, Reflect, Default, Clone)]
#[reflect(Component, Clone)]
pub struct WindAffected;
#[derive(Component, Reflect, Default)]
#[reflect(Component)]
pub struct WindConfig {
pub wind_override: Option<Wind>,
}
#[derive(Component, Clone, Debug, Reflect, Deref, DerefMut)]
#[reflect(Component)]
pub struct Strength(pub f32);
#[derive(Component, Clone, Debug, Reflect, Deref, DerefMut)]
#[reflect(Component)]
pub struct MicroStrength(pub f32);
#[derive(Component, Clone, Debug, Reflect, Deref, DerefMut)]
#[reflect(Component)]
pub struct SCurveStrength(pub f32);
#[derive(Component, Clone, Debug, Reflect, Deref, DerefMut)]
#[reflect(Component)]
pub struct SCurveSpeed(pub f32);
#[derive(Component, Clone, Debug, Reflect, Deref, DerefMut)]
#[reflect(Component)]
pub struct SCurveFrequency(pub f32);
#[derive(Component, Clone, Debug, Reflect, Deref, DerefMut)]
#[reflect(Component)]
pub struct BopStrength(pub f32);
#[derive(Component, Clone, Debug, Reflect, Deref, DerefMut)]
#[reflect(Component)]
pub struct BopSpeed(pub f32);
#[derive(Component, Clone, Debug, Reflect, Deref, DerefMut)]
#[reflect(Component)]
pub struct TwistStrength(pub f32);
#[derive(Component, Clone, Debug, Reflect)]
#[reflect(Component)]
pub struct LowQuality;