wip bot worker

This commit is contained in:
Quaternions 2024-08-01 14:06:40 -07:00
parent 8a13640c55
commit d3bede8b1c
2 changed files with 39 additions and 0 deletions

38
src/bot_worker.rs Normal file
View File

@ -0,0 +1,38 @@
use strafesnet_snf::bot::BotInstructions;
pub enum Instruction{
//TODO: pass map id
Create,
Push{
ins:strafesnet_common::instruction::TimedInstruction<crate::physics::PhysicsInputInstruction>,
},
}
//a new worker is spawned on a thread
//create opens a new file
//push pushes an instruction to the file
pub struct Worker{
file:Option<BotInstructions>,
}
pub fn new<'a>(scope:&'a std::thread::Scope<'a,'_>)->crate::worker::QNWorker<'a,Instruction>{
let mut worker=Worker{
file:None,
};
crate::worker::QNWorker::new(scope,move|instruction|{
match instruction{
Instruction::Create=>{
worker.file=Some(BotIntructions::new("hi.snfb"))
},
Instruction::Push{ins}=>{
match &worker.file{
Some(file)=>file.push(ins),
None=>{
println!("no file created!"),
}
}
},
}
})
}

View File

@ -5,6 +5,7 @@ mod worker;
mod physics; mod physics;
mod graphics; mod graphics;
mod settings; mod settings;
mod bot_worker;
mod face_crawler; mod face_crawler;
mod compat_worker; mod compat_worker;
mod model_physics; mod model_physics;