use crate::{sims}; use cultivar_common::prelude::*; use sp_runtime_interface::runtime_interface; #[runtime_interface] pub trait Api { fn print_hello(nb: u32) -> u32 { println!("hello {nb}"); nb + 42 } fn walk(sim_id: SimId, entity_id: EntityId, direction: Direction) { if let Some(mut sim) = (*sims.write()).sims.get_mut(&sim_id) { let sim = sim.value_mut(); if let Some(entity) = sim.entities.get_mut(&entity_id) { match entity { Entity::Ferris(entity) => entity.walk(&sim.board, direction) } } } } }