pub fn check_event(catalog: &Value, event: &Value) -> Result<(), String>Expand description
Checks one drained event (as GameplayEvent::to_json writes it) against
a catalog: a known name, exactly the catalog’s fields, each enum value
listed and each integer in range.
use verticopolis_engine::clock::GameMode;
use verticopolis_engine::gameplay::{check_event, GameplayEvent, CATALOG_JSON};
let catalog: serde_json::Value = serde_json::from_str(CATALOG_JSON).unwrap();
let event = GameplayEvent::TowerFounded { mode: GameMode::Modern };
assert!(check_event(&catalog, &event.to_json()).is_ok());