cultivar/common/src/entities.rs

35 lines
584 B
Rust
Raw Normal View History

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