chiark / gitweb /
Game updates: Provide ClearGame insn
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Thu, 13 May 2021 08:52:46 +0000 (09:52 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Thu, 13 May 2021 09:11:03 +0000 (10:11 +0100)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
daemon/cmdlistener.rs
src/commands.rs

index 1eb5e2180ca43c473c28d8eecd9cd83e8d4529f0..4436a8d5b9c259e94ea7c1aa78afaf532d19170a 100644 (file)
@@ -570,6 +570,12 @@ fn execute_game_insn<'cs, 'igr, 'ig: 'igr>(
       no_updates(ig, MGR::Fine)
     },
 
+    MGI::ClearGame { } => {
+      reset_game(cs,ag,ig, Box::new(|_ig, _insns|{
+        let html = hformat!("{} cleared out the game", &who);
+        Ok(LogEntry { html })
+      }))?
+    }
     MGI::ResetFromGameSpec { spec_toml: spec } => {
       let spec: toml::Value = spec.parse()
         .map_err(|e: toml::de::Error| ME::TomlSyntaxError(e.to_string()))?;
index bd95a34e06ec4df8ea06e950a4c0b6a3d41acd71..e18a4bad60ca09b653ebb508012fed9b9fb2d3bb 100644 (file)
@@ -116,6 +116,7 @@ pub enum MgmtGameInstruction {
   DeletePieceAlias(String),
   DefinePieceAlias { alias: String, target: Box<dyn PieceSpec> },
 
+  ClearGame { },
   ResetFromGameSpec { spec_toml: String },
 
   ResetPlayerAccess(PlayerId),