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}