pub(super) trait Piece: Send + Sync + DynClone + 'static + Component<Storage = TableStorage> {
    // Required methods
    fn get_type(&self) -> &PieceType;
    fn get_color(&self) -> &PieceColor;
    fn get_position(&self) -> &BoardPosition;
    fn get_starting_position(&self) -> &BoardPosition;
    fn set_position(&mut self, new_position: &BoardPosition);
    fn get_moves(&self, include_captures: &bool) -> Vec<BoardPosition>;
    fn valid_move(&self, end_position: &BoardPosition) -> bool;
    fn valid_capture(&self, end_position: &BoardPosition) -> bool;
    fn is_sliding(&self) -> bool;
}

Required Methods§

source

fn get_type(&self) -> &PieceType

source

fn get_color(&self) -> &PieceColor

source

fn get_position(&self) -> &BoardPosition

source

fn get_starting_position(&self) -> &BoardPosition

source

fn set_position(&mut self, new_position: &BoardPosition)

source

fn get_moves(&self, include_captures: &bool) -> Vec<BoardPosition>

source

fn valid_move(&self, end_position: &BoardPosition) -> bool

source

fn valid_capture(&self, end_position: &BoardPosition) -> bool

source

fn is_sliding(&self) -> bool

Implementors§