few changes
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
use crossterm::event::{KeyCode, KeyEvent, KeyModifiers};
|
||||
use crossterm::event::KeyEvent;
|
||||
|
||||
use crate::{
|
||||
events::{Close, Event, EventManager},
|
||||
@@ -34,15 +34,13 @@ impl Extension for KeyPressExtension {
|
||||
fn tick_start(&mut self, _: &mut Screen, _: &mut EventManager) {}
|
||||
|
||||
fn tick_end(&mut self, _: &mut Screen, events: &mut EventManager) {
|
||||
match crossterm::event::read().unwrap() {
|
||||
crossterm::event::Event::Key(e) => {
|
||||
if e.modifiers.contains(KeyModifiers::CONTROL) && e.code == KeyCode::Char('c') {
|
||||
events.dispatch(Close);
|
||||
} else {
|
||||
if crossterm::event::poll(std::time::Duration::from_millis(13)).unwrap() {
|
||||
match crossterm::event::read().unwrap() {
|
||||
crossterm::event::Event::Key(e) => {
|
||||
events.dispatch(e);
|
||||
}
|
||||
_ => {}
|
||||
}
|
||||
_ => {}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
pub mod keypress;
|
||||
pub mod tick_rate;
|
||||
|
||||
use crate::{events::EventManager, Screen};
|
||||
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
use crate::extensions::Extension;
|
||||
|
||||
pub struct TickRate(pub u8);
|
||||
|
||||
impl Extension for TickRate {
|
||||
fn init(&mut self, _: &mut crate::Screen, _: &mut crate::events::EventManager) {}
|
||||
|
||||
fn tick_end(&mut self, _: &mut crate::Screen, _: &mut crate::events::EventManager) {
|
||||
std::thread::sleep(std::time::Duration::from_millis(1000 / self.0 as u64));
|
||||
}
|
||||
|
||||
fn tick_start(&mut self, _: &mut crate::Screen, _: &mut crate::events::EventManager) {}
|
||||
}
|
||||
Reference in New Issue
Block a user