add reset instruction + physics::Instruction is Clone

This commit is contained in:
Quaternions 2024-08-05 17:26:15 -07:00
parent 62a6af9261
commit a2d9e97467

View File

@ -1,4 +1,4 @@
#[derive(Debug)] #[derive(Clone,Debug)]
pub enum Instruction{ pub enum Instruction{
ReplaceMouse(crate::mouse::MouseState,crate::mouse::MouseState), ReplaceMouse(crate::mouse::MouseState,crate::mouse::MouseState),
SetNextMouse(crate::mouse::MouseState), SetNextMouse(crate::mouse::MouseState),
@ -10,7 +10,13 @@ pub enum Instruction{
SetMoveForward(bool), SetMoveForward(bool),
SetJump(bool), SetJump(bool),
SetZoom(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, Restart,
/// Spawn: Teleport to a specific mode's spawn
/// Sets current mode & spawn
Spawn(crate::gameplay_modes::ModeId,crate::gameplay_modes::StageId), Spawn(crate::gameplay_modes::ModeId,crate::gameplay_modes::StageId),
Idle, Idle,
//Idle: there were no input events, but the simulation is safe to advance to this timestep //Idle: there were no input events, but the simulation is safe to advance to this timestep