paiagram/vehicles/
services.rs1use bevy::prelude::*;
2use egui::{Color32, Stroke};
3use serde::{Deserialize, Serialize};
4
5#[derive(Debug, Component)]
6#[require(Name)]
7pub struct VehicleService {
8 pub class: Option<Entity>,
9}
10
11#[derive(Debug, Serialize, Deserialize)]
12pub enum StrokeStyle {
13 Filled,
14 Dotted { spacing: f32, radius: f32 },
15 Dashed { dash_length: f32, gap_length: f32 },
16}
17
18#[derive(Debug, Component, Serialize, Deserialize)]
19#[require(Name)]
20pub struct VehicleClass {
21 pub stroke: (Stroke, StrokeStyle),
22}
23
24impl Default for VehicleClass {
25 fn default() -> Self {
26 Self {
27 stroke: (
28 Stroke {
29 width: 1.0,
30 color: Color32::GRAY,
31 },
32 StrokeStyle::Filled,
33 ),
34 }
35 }
36}