From 323cd679cd29a8475c3b7486ce54ecd37620dbea Mon Sep 17 00:00:00 2001 From: troido Date: Tue, 4 Feb 2020 22:23:17 +0100 Subject: tried to implement deserialisation of entities --- src/assemblage.rs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'src/assemblage.rs') 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, kwargs: std::collections::HashMap<&str, serde_json::Value>) { + fn init_from_json(&mut self, mut args: Vec, kwargs: std::collections::HashMap) { $( 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, kwargs: std::collections::HashMap<&str, serde_json::Value>); + fn init_from_json(&mut self, args: Vec, kwargs: std::collections::HashMap); } -- cgit