diff options
| author | troido <troido@protonmail.com> | 2020-09-25 14:18:13 +0200 |
|---|---|---|
| committer | troido <troido@protonmail.com> | 2020-09-25 14:18:13 +0200 |
| commit | 87727f9519eb37b565d8cc88e174935bac0e1d12 (patch) | |
| tree | 78eb9daaf511b9eeeb8f0eef197556f0353582e1 /src/encyclopedia.rs | |
| parent | 09306cb76c6e1eabb4082a985a0a0fa335bda5c1 (diff) | |
assemlage uses proper serialization too
Diffstat (limited to 'src/encyclopedia.rs')
| -rw-r--r-- | src/encyclopedia.rs | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/encyclopedia.rs b/src/encyclopedia.rs index 379378c..72cc483 100644 --- a/src/encyclopedia.rs +++ b/src/encyclopedia.rs @@ -33,7 +33,7 @@ impl Encyclopedia { .as_object() .ok_or(perr!("encyclopedia assemblages not a json object"))? .into_iter() - .map(|(k, v)| Ok((EntityType(k.clone()), Assemblage::from_json(v)?))) + .map(|(k, v)| Ok((EntityType(k.clone()), Assemblage::deserialize(v).map_err(|e| perr!("invalid assemblage {:?}: {}", v, e))?))) .collect::<PResult<HashMap<EntityType, Assemblage>>>()?; let items = val @@ -63,12 +63,12 @@ impl Encyclopedia { Template::deserialize(ent).map_err(|e| perr!("template json error deserializing {:?} {:?}", ent, e))? } else { let enttyp = EntityType(k.clone()); - assemblages.insert(enttyp.clone(), Assemblage::from_json(&json!({ + assemblages.insert(enttyp.clone(), Assemblage::deserialize(&json!({ "height": 0.3, "sprite": sprite, "name": name, "item": k - }))?); + })).map_err(|e| perr!("invalid assemblage {:?}: {}", v, e))?); Template::from_entity_type(enttyp) }, action: |
