Files
no-man-sky-wiki/src/types/types.rs
Stefan Menner 8fc8dc1cc9 Update parser
2025-06-03 17:38:11 +02:00

62 lines
1.2 KiB
Rust

#[derive(Debug, PartialEq, Eq, Clone)]
pub enum ResourceState {
Parsed(bool),
Unparsed,
}
#[derive(Debug, PartialEq, Eq)]
pub struct Icon {
pub name: String,
pub url: String,
pub width: u32,
pub height: u32,
pub content_type: String,
}
impl Clone for Icon {
fn clone(&self) -> Self {
Icon {
name: self.name.clone(),
url: self.url.clone(),
width: self.width,
height: self.height,
content_type: self.content_type.clone(),
}
}
}
#[derive(Debug, PartialEq, Eq, Clone)]
pub struct Resource {
pub name: String,
pub title: String,
pub url: Option<String>,
pub icon: Option<Icon>,
pub state: ResourceState,
}
#[derive(Debug, PartialEq, Eq, Clone)]
pub struct Ingredient {
pub resource: Resource,
pub quantity: u32,
}
#[derive(Debug, PartialEq, Eq, Clone)]
pub enum RecipeType {
Production,
Refining,
Cooking,
}
#[derive(Debug, PartialEq, Eq, Clone)]
pub struct Duration {
pub millis: u64,
pub unit: String,
}
#[derive(Debug, PartialEq, Eq, Clone)]
pub struct Recipe {
pub recipe_type: RecipeType,
pub resource: Ingredient,
pub duration: Duration,
pub ingredients: Vec<Ingredient>,
}