From 87727f9519eb37b565d8cc88e174935bac0e1d12 Mon Sep 17 00:00:00 2001 From: troido Date: Fri, 25 Sep 2020 14:18:13 +0200 Subject: assemlage uses proper serialization too --- src/componentwrapper.rs | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) (limited to 'src/componentwrapper.rs') diff --git a/src/componentwrapper.rs b/src/componentwrapper.rs index 320ae1b..340d0c0 100644 --- a/src/componentwrapper.rs +++ b/src/componentwrapper.rs @@ -1,6 +1,7 @@ use std::collections::{HashMap, HashSet}; -use serde::Deserialize; +use serde::{Serialize, Deserialize}; +use strum_macros::{EnumString, Display}; use specs::Builder; use rand::Rng; use std::str::FromStr; @@ -65,21 +66,13 @@ macro_rules! components { } } } - #[derive(Debug, PartialEq, Eq, Clone, Copy, Deserialize)] + #[derive(Debug, PartialEq, Eq, Clone, Copy, Serialize, Deserialize, EnumString, Display)] pub enum ComponentType { $( $comp, )* } impl ComponentType { - pub fn from_str(typename: &str) -> Option{ - match typename { - $( - stringify!($comp) => Some(Self::$comp), - )* - _ => None - } - } pub fn parameters(&self) -> Vec<&str> { match self { $( -- cgit