manabrew_engine/core.rs
1use std::collections::HashMap;
2
3pub trait Identifiable {
4 fn id(&self) -> i32;
5}
6
7pub trait HasSVars {
8 fn get_svar(&self, name: &str) -> Option<&str>;
9 fn has_svar(&self, name: &str) -> bool {
10 self.get_svar(name).is_some()
11 }
12 fn set_svar(&mut self, name: String, value: String);
13 fn set_svars(&mut self, new_svars: HashMap<String, String>);
14 fn get_svars(&self) -> &HashMap<String, String>;
15 fn remove_svar(&mut self, var: &str);
16}