diff --git a/src/physics.rs b/src/physics.rs index fd377c6..e3e7ac9 100644 --- a/src/physics.rs +++ b/src/physics.rs @@ -1,4 +1,4 @@ -#[derive(Debug)] +#[derive(Clone,Debug)] pub enum Instruction{ ReplaceMouse(crate::mouse::MouseState,crate::mouse::MouseState), SetNextMouse(crate::mouse::MouseState), @@ -10,7 +10,13 @@ pub enum Instruction{ 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