ashscript_types/storage.rs
1use hashbrown::{HashMap, HashSet};
2use serde::Serialize;
3
4use crate::resource::Resource;
5
6#[derive(Default, Serialize, Clone)]
7pub struct Storage {
8 pub resources: HashMap<Resource, u32>,
9 #[serde(skip)]
10 pub future_resources: HashMap<Resource, u32>,
11 /// resources that are allowed to be inserted into the structure. If none, accept all resources
12 pub allowed_inputs: Option<HashSet<Resource>>,
13 pub capacity: u32,
14}
15
16impl Storage {
17 pub fn new() -> Self {
18 Self {
19 ..Default::default()
20 }
21 }
22}