overhaul: data-driven architecture

This commit is contained in:
Llywelwyn 2023-07-25 03:50:50 +01:00
parent 062d36f640
commit f53b767376
19 changed files with 680 additions and 727 deletions

25
src/raws/item_structs.rs Normal file
View file

@ -0,0 +1,25 @@
use serde::Deserialize;
use std::collections::HashMap;
#[derive(Deserialize, Debug)]
pub struct Item {
pub id: String,
pub name: Name,
pub renderable: Option<Renderable>,
pub flags: Option<Vec<String>>,
pub effects: Option<HashMap<String, String>>,
}
#[derive(Deserialize, Debug)]
pub struct Name {
pub name: String,
pub plural: String,
}
#[derive(Deserialize, Debug)]
pub struct Renderable {
pub glyph: String,
pub fg: String,
pub bg: String,
pub order: i32,
}