summaryrefslogtreecommitdiff
path: root/src/assemblage.rs
diff options
context:
space:
mode:
authortroido <troido@protonmail.com>2020-02-04 22:23:17 +0100
committertroido <troido@protonmail.com>2020-02-04 22:23:17 +0100
commit323cd679cd29a8475c3b7486ce54ecd37620dbea (patch)
tree1fc55c768a7b74644157c23580f54292e960c66a /src/assemblage.rs
parenteb5997cbf94b1aa230cf4acb3008a7fe80ec36e0 (diff)
tried to implement deserialisation of entities
Diffstat (limited to 'src/assemblage.rs')
-rw-r--r--src/assemblage.rs7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/assemblage.rs b/src/assemblage.rs
index 8949205..a81ce82 100644
--- a/src/assemblage.rs
+++ b/src/assemblage.rs
@@ -1,5 +1,6 @@
+use std::any::Any;
#[macro_export]
@@ -21,7 +22,7 @@ macro_rules! assemblage {
}
#[allow(unused_variables, unused_mut)]
- fn init_from_json(&mut self, mut args: Vec<serde_json::Value>, kwargs: std::collections::HashMap<&str, serde_json::Value>) {
+ fn init_from_json(&mut self, mut args: Vec<serde_json::Value>, kwargs: std::collections::HashMap<String, serde_json::Value>) {
$(
if args.len() > 0 {
let val = args.remove(0);
@@ -54,9 +55,9 @@ macro_rules! unpack_json {
}
-pub trait Assemblage: Send + Sync {
+pub trait Assemblage: Send + Sync + Any {
fn build<'a>(&self, builder: specs::EntityBuilder<'a>) -> specs::EntityBuilder<'a>;
- fn init_from_json(&mut self, args: Vec<serde_json::Value>, kwargs: std::collections::HashMap<&str, serde_json::Value>);
+ fn init_from_json(&mut self, args: Vec<serde_json::Value>, kwargs: std::collections::HashMap<String, serde_json::Value>);
}