diff options
| author | troido <troido@protonmail.com> | 2020-02-04 22:23:17 +0100 |
|---|---|---|
| committer | troido <troido@protonmail.com> | 2020-02-04 22:23:17 +0100 |
| commit | 323cd679cd29a8475c3b7486ce54ecd37620dbea (patch) | |
| tree | 1fc55c768a7b74644157c23580f54292e960c66a /src/assemblage.rs | |
| parent | eb5997cbf94b1aa230cf4acb3008a7fe80ec36e0 (diff) | |
tried to implement deserialisation of entities
Diffstat (limited to 'src/assemblage.rs')
| -rw-r--r-- | src/assemblage.rs | 7 |
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>); } |
