use bevy::prelude::*;

// Common
#[derive(Component)]
pub struct Unit {
    pub move_speed: f32,
    pub height_offset: f32,
}

#[derive(Component)]
pub struct MoveTarget {
    pub position: Vec3,
}

// Player
#[derive(PartialEq)]
pub enum Item {
    None,
    Burger,
}

#[derive(Component)]
pub struct Player {
    pub holding: Item,
    pub progress: f32,
}
#[derive(Component)]
pub struct ProgressBar {
    pub width: f32,
    pub player_height: f32,
}

#[derive(Component)]
pub struct PlayerBurgerIndicator;

// Customer

#[derive(Component)]
pub struct Customer {
    pub order: Item,
    pub served: bool,
    pub range: f32,
}

#[derive(Resource)]
pub struct CustomerSpawner {
    pub timer: Timer,
}

#[derive(Resource)]
pub struct CounterQueue {
    pub positions: Vec<Vec3>,
    pub occupied: Vec<bool>,
}

#[derive(Component)]
pub struct Fryer {
    pub range: f32,
    pub speed: f32,
}

#[derive(Component)]
pub struct QueueSlot(pub usize);

#[derive(Component)]
pub struct CustomerBurgerIndicator;
