cultivar/executor/src/api.rs

23 lines
538 B
Rust

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)
}
}
}
}
}