summaryrefslogtreecommitdiff
path: root/racer-tracer/src/image_action/wait_for_signal.rs
diff options
context:
space:
mode:
Diffstat (limited to 'racer-tracer/src/image_action/wait_for_signal.rs')
-rw-r--r--racer-tracer/src/image_action/wait_for_signal.rs25
1 files changed, 25 insertions, 0 deletions
diff --git a/racer-tracer/src/image_action/wait_for_signal.rs b/racer-tracer/src/image_action/wait_for_signal.rs
new file mode 100644
index 0000000..54480ac
--- /dev/null
+++ b/racer-tracer/src/image_action/wait_for_signal.rs
@@ -0,0 +1,25 @@
+use std::sync::RwLock;
+
+use synchronoise::SignalEvent;
+
+use crate::{config::Config, error::TracerError};
+
+use super::ImageAction;
+
+pub struct WaitForSignal {}
+
+impl ImageAction for WaitForSignal {
+ fn action(
+ &self,
+ _screen_buffer: &RwLock<Vec<u32>>,
+ event: &SignalEvent,
+ _config: &Config,
+ ) -> Result<(), TracerError> {
+ if !event.status() {
+ println!("Press R to resume.");
+ event.wait();
+ }
+ event.reset();
+ Ok(())
+ }
+}