|
|
|
@ -37,8 +37,8 @@ impl RunningGame { |
|
|
|
.collect() |
|
|
|
} |
|
|
|
|
|
|
|
pub fn compile(path: std::path::PathBuf) -> RhaiResult<(AST, Vec<String>)> { |
|
|
|
let e = setup_engine(); |
|
|
|
pub fn compile(path: std::path::PathBuf, conf: &Config) -> RhaiResult<(AST, Vec<String>)> { |
|
|
|
let e = setup_engine(conf); |
|
|
|
let ast = e.compile_file(path)?; |
|
|
|
let fns = Self::get_fns(&ast); |
|
|
|
Ok((ast, fns)) |
|
|
|
@ -52,12 +52,12 @@ impl RunningGame { |
|
|
|
current_players: &[Uuid], |
|
|
|
) -> Self { |
|
|
|
// log::info!("Fns: {:?}", fns);
|
|
|
|
let functions = Functions::new(fns, ast.clone(), &name); |
|
|
|
let engine = setup_engine(); |
|
|
|
let functions = Functions::new(fns, ast.clone(), &name, conf); |
|
|
|
let engine = setup_engine(conf); |
|
|
|
let setup = Func::<(Dynamic,), Dynamic>::create_from_ast(engine, ast, "setup"); |
|
|
|
|
|
|
|
let piles = conf.piles.clone().into_iter().map(|(k,v)| (k, v.into())).collect(); |
|
|
|
let player_piles = vec![conf.player_piles.clone().into_iter().map(|(k,v)| (k, v.into())).collect(); current_players.len()]; |
|
|
|
let piles = conf.piles.clone().into_iter().map(|(k,v)| (k, RunningPile::from_pile(v, &conf.available_cards))).collect(); |
|
|
|
let player_piles = vec![conf.player_piles.clone().into_iter().map(|(k,v)| (k, RunningPile::from_pile(v, &conf.available_cards))).collect(); current_players.len()]; |
|
|
|
let Data { |
|
|
|
piles, |
|
|
|
player_piles, |
|
|
|
|