From 7e9784f23d1920640152d1bc99a0725f6f22d529 Mon Sep 17 00:00:00 2001 From: troido Date: Fri, 21 Feb 2020 20:01:24 +0100 Subject: visible component now also has a name --- src/assemblage.rs | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/assemblage.rs') diff --git a/src/assemblage.rs b/src/assemblage.rs index dd84837..bdd6c25 100644 --- a/src/assemblage.rs +++ b/src/assemblage.rs @@ -74,8 +74,10 @@ impl Assemblage { arguments: Self::parse_definition_arguments(val.get("arguments").unwrap_or(&json!([])))?, components: Self::parse_definition_components(val.get("components").ok_or("property 'components' not found")?)? }; + // visible component is so common that shortcuts are very helpful if let Some(spritename) = val.get("sprite") { let height = val.get("height").ok_or("defining a sprite requires also defining a height")?; + let name = val.get("name").unwrap_or(spritename); assemblage.components.push(( ComponentType::Visible, hashmap!( @@ -84,6 +86,9 @@ impl Assemblage { ), "height".to_string() => ComponentParameter::Constant( Parameter::Float(height.as_f64().ok_or("height not a float")?) + ), + "name".to_string() => ComponentParameter::Constant( + Parameter::String(name.as_str().ok_or("name not a string")?.to_string()) ) ) )); -- cgit