cultivar/common/src/entities.rs

35 lines
584 B
Rust

pub mod ferris;
use crate::prelude::*;
use crate::std_bis::*;
use parity_scale_codec::{Decode, Encode};
pub mod traits {
use super::*;
pub trait Entity {}
pub trait Walker {
fn walk(
&mut self,
board: &Board,
direction: Direction,
) -> Result<Position, (Position, WalkError)>;
}
}
#[derive(Debug)]
pub enum Entity {
Ferris(Box<ferris::Ferris>),
}
#[derive(Clone, Debug, Decode, Encode, Eq, PartialEq)]
pub enum WalkError {
OutOfBoard,
}
impl sp_runtime_interface::pass_by::PassBy for WalkError {
type PassBy = sp_runtime_interface::pass_by::Codec<Self>;
}