yeah
This commit is contained in:
parent
3f0e3e0d3c
commit
5072e5d7a8
@ -1,8 +1,7 @@
|
||||
use strafesnet_common::mouse::MouseState;
|
||||
use strafesnet_common::physics::{Instruction as PhysicsInputInstruction,Time as PhysicsTime,TimeInner as PhysicsTimeInner};
|
||||
use strafesnet_common::session::{Time as SessionTime,TimeInner as SessionTimeInner};
|
||||
use strafesnet_common::instruction::TimedInstruction;
|
||||
use strafesnet_common::timer::{Scaled,Timer,TimerState};
|
||||
use strafesnet_common::instruction::{self,TimedInstruction};
|
||||
|
||||
#[derive(Debug)]
|
||||
pub enum InputInstruction{
|
||||
@ -34,11 +33,23 @@ pub struct MouseInterpolator{
|
||||
last_mouse_time:PhysicsTime,
|
||||
mouse_blocking:bool,
|
||||
}
|
||||
impl instruction::InstructionConsumer for MouseInterpolator{
|
||||
type Instruction=Instruction;
|
||||
type TimeInner=SessionTimeInner;
|
||||
fn process_instruction(&mut self,ins:TimedInstruction<Instruction,SessionTimeInner>){
|
||||
self.atomic_state_update(ins)
|
||||
}
|
||||
}
|
||||
// InstructionEmitter does not make sense for MouseInterpolator, because it can emit multiple instructions.
|
||||
impl instruction::InstructionEmitter for MouseInterpolator{
|
||||
type Instruction=PhysicsInputInstruction;
|
||||
type TimeInner=PhysicsTimeInner;
|
||||
fn next_instruction(&self,time_limit:PhysicsTime)->Option<TimedInstruction<PhysicsInputInstruction,PhysicsTimeInner>>{
|
||||
self.next_instruction_internal(time_limit)
|
||||
}
|
||||
}
|
||||
impl MouseInterpolator{
|
||||
pub fn new(
|
||||
physics:crate::physics::PhysicsContext,
|
||||
user_settings:crate::settings::UserSettings,
|
||||
)->MouseInterpolator{
|
||||
pub fn new()->MouseInterpolator{
|
||||
MouseInterpolator{
|
||||
mouse_blocking:true,
|
||||
last_mouse_time:physics.get_next_mouse().time,
|
||||
|
Loading…
Reference in New Issue
Block a user