use bitboard::Bitboard;
use search::Game;

use std::sync::mpsc::{Receiver, Sender};
use movegen::*;

pub enum EngineMsg {
    SetBoard,
    SetPiece(Bitboard),
    Search(i32),
    Ping,
    Stop,
    GetState,
    GetInfo,
}


pub enum EngineState {
    Idle,
    Searching
}


pub enum InterfaceMsg {
    BestMove(Move),
    State(EngineState)
}


pub fn run_engine(r: Receiver<EngineMsg>, s: Sender<InterfaceMsg>) {
    let mut game = Game::default();
    for msg in r {
        game.pieces[0] = 0xFF00;
        generate_pawn_moves(&game, WHITE);
        println!("engine received message");
    }
}