Skip to main content
Verticopolis engineGitHub

check_event

Function check_event 

Source
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());