#[derive(Clone,Debug)] pub enum Instruction{ ReplaceMouse(crate::mouse::MouseState,crate::mouse::MouseState), SetNextMouse(crate::mouse::MouseState), SetMoveRight(bool), SetMoveUp(bool), SetMoveBack(bool), SetMoveLeft(bool), SetMoveDown(bool), SetMoveForward(bool), SetJump(bool), SetZoom(bool), /// Reset: fully replace the physics state. /// This forgets all inputs and settings which need to be reapplied. Reset, /// Restart: Teleport to the start zone. Restart, /// Spawn: Teleport to a specific mode's spawn /// Sets current mode & spawn Spawn(crate::gameplay_modes::ModeId,crate::gameplay_modes::StageId), Idle, //Idle: there were no input events, but the simulation is safe to advance to this timestep //for interpolation / networking / playback reasons, most playback heads will always want //to be 1 instruction ahead to generate the next state for interpolation. PracticeFly, SetSensitivity(crate::integer::Ratio64Vec2), }