use crate::_bevy::*;
use avian3d::math::{Scalar, Vector};
use serde::{Deserialize, Serialize};
#[derive(Component, Reflect, Serialize, Deserialize, Clone, Debug)]
#[reflect(Component, Serialize, Deserialize)]
#[require(crate::components::zone_force::ZoneForce)]
pub struct EngineZone {
pub max_thrust_n: Scalar,
pub throttle_curve: Vec<[Scalar; 2]>,
pub thrust_axis_body: Vector,
pub zero_thrust_speed_ms: Option<Scalar>,
}
impl Default for EngineZone {
fn default() -> Self {
Self {
max_thrust_n: 0.0,
throttle_curve: vec![[0.0, 0.0], [1.0, 1.0]],
thrust_axis_body: Vector::X,
zero_thrust_speed_ms: None,
}
}
}