cultivar/common/src/sim.rs

28 lines
770 B
Rust

use crate::std_bis::*;
use crate::{board, entities};
use parity_scale_codec::{Decode, Encode};
#[cfg(feature = "std")]
use std::collections::BTreeMap;
#[derive(Clone, Copy, Debug, Decode, Encode, Eq, Hash, Ord, PartialEq, PartialOrd)]
pub struct SimId(pub [u8; 16]);
#[derive(Clone, Copy, Debug, Decode, Encode, Eq, Hash, Ord, PartialEq, PartialOrd)]
pub struct EntityId(pub u32);
impl sp_runtime_interface::pass_by::PassBy for SimId {
type PassBy = sp_runtime_interface::pass_by::Codec<Self>;
}
impl sp_runtime_interface::pass_by::PassBy for EntityId {
type PassBy = sp_runtime_interface::pass_by::Codec<Self>;
}
#[cfg(feature = "std")]
pub struct Sim {
pub board: board::Board,
pub entities: BTreeMap<EntityId, entities::Entity>,
pub entity_counter: u32,
}