use bevy::prelude::*; #[derive(Component)] pub struct Track{ pub start_point: Vec2, pub start_direction: Vec2, // будет нормализовано при построении pub segments: Vec, } // линия всегда строится от точки старта по направлению // направление изменяется сегментами поворота // left при истине - поворот против часовой стрелки, ложь - по часовой #[derive(Clone, Copy)] pub enum PathSegment{ Line { length: f32 }, Turn { radius: f32, left: bool }, }