35 lines
584 B
Rust
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>;
|
|
}
|