paiagram_core/vehicle.rs
1use bevy::{ecs::query::QueryData, prelude::*};
2use moonshine_core::prelude::{MapEntities, ReflectMapEntities};
3
4/// A vehicle is the "executor" of a [`crate::trip::Trip`].
5#[derive(Default, Reflect, Component, MapEntities)]
6#[reflect(Component, MapEntities)]
7#[require(Name)]
8pub struct Vehicle {
9 #[entities]
10 pub trips: Vec<Entity>,
11}
12
13#[derive(QueryData)]
14pub struct VehicleQuery {
15 name: &'static Name,
16 vehicle: &'static Vehicle,
17}