game: remove unused enum InputEvent, remove some warnings
This commit is contained in:
parent
d6d6b2df72
commit
798719a7a2
|
@ -1,140 +0,0 @@
|
|||
use winit::{dpi::PhysicalPosition, event::{AxisId, DeviceId, ElementState, KeyEvent, MouseButton, MouseScrollDelta, Touch, TouchPhase, WindowEvent}};
|
||||
|
||||
/// Wrapper around events from `winit::WindowEvent` that are specific to input related events.
|
||||
///
|
||||
/// The `winit::WindowEvent` enum has many values that are related to inputs.
|
||||
/// Ex:
|
||||
/// * winit::WindowEvent::KeyboardInput
|
||||
/// * winit::WindowEvent::CursorMoved
|
||||
/// * winit::WindowEvent::CursorEntered
|
||||
/// * winit::WindowEvent::MouseWheel
|
||||
/// * winit::WindowEvent::CursorLeft
|
||||
/// * winit::WindowEvent::MouseInput
|
||||
/// etc.
|
||||
///
|
||||
/// Its easier for these to all be in a single `InputEvent` type enum to check if any input was received.
|
||||
/// The comments for all the methods were taken from `winit::WindowEvent`
|
||||
#[derive(Debug, PartialEq, Clone)]
|
||||
pub enum InputEvent {
|
||||
/// An event from the keyboard has been received.
|
||||
KeyboardInput {
|
||||
device_id: DeviceId,
|
||||
event: KeyEvent,
|
||||
|
||||
/// If true, the event was generated synthetically by winit in one of the following circumstances:
|
||||
/// Synthetic key press events are generated for all keys pressed when a window gains focus.
|
||||
/// Likewise, synthetic key release events are generated for all keys pressed when a window goes out of focus.
|
||||
/// Currently, this is only functional on X11 and Windows
|
||||
is_synthetic: bool,
|
||||
},
|
||||
|
||||
/// The cursor has moved on the window.
|
||||
CursorMoved {
|
||||
device_id: DeviceId,
|
||||
position: PhysicalPosition<f64>,
|
||||
},
|
||||
|
||||
/// The cursor has entered the window.
|
||||
CursorEntered {
|
||||
device_id: DeviceId,
|
||||
},
|
||||
|
||||
/// The cursor has left the window.
|
||||
CursorLeft {
|
||||
device_id: DeviceId,
|
||||
},
|
||||
|
||||
/// A mouse wheel movement or touchpad scroll occurred.
|
||||
MouseWheel {
|
||||
device_id: DeviceId,
|
||||
delta: MouseScrollDelta,
|
||||
phase: TouchPhase,
|
||||
},
|
||||
|
||||
/// An mouse button press has been received.
|
||||
MouseInput {
|
||||
device_id: DeviceId,
|
||||
state: ElementState,
|
||||
button: MouseButton,
|
||||
},
|
||||
|
||||
/// Touchpad pressure event.
|
||||
///
|
||||
/// At the moment, only supported on Apple forcetouch-capable macbooks.
|
||||
/// The parameters are: pressure level (value between 0 and 1 representing how hard the touchpad
|
||||
/// is being pressed) and stage (integer representing the click level).
|
||||
TouchpadPressure {
|
||||
device_id: DeviceId,
|
||||
pressure: f32,
|
||||
stage: i64,
|
||||
},
|
||||
|
||||
/// Motion on some analog axis. May report data redundant to other, more specific events.
|
||||
AxisMotion {
|
||||
device_id: DeviceId,
|
||||
axis: AxisId,
|
||||
value: f64,
|
||||
},
|
||||
|
||||
/// Touch event has been received
|
||||
///
|
||||
/// ## Platform-specific
|
||||
/// - **Web**: Doesn’t take into account CSS border, padding, or transform.
|
||||
/// - **macOS:** Unsupported.
|
||||
Touch(Touch),
|
||||
}
|
||||
|
||||
impl InputEvent {
|
||||
pub fn from_window_event(value: &WindowEvent) -> Option<Self> {
|
||||
match value {
|
||||
WindowEvent::KeyboardInput { device_id, event, is_synthetic } =>
|
||||
Some(InputEvent::KeyboardInput {
|
||||
device_id: *device_id,
|
||||
event: event.clone(),
|
||||
is_synthetic: *is_synthetic
|
||||
}),
|
||||
#[allow(deprecated, reason="Compatibility")]
|
||||
WindowEvent::CursorMoved { device_id, position, } =>
|
||||
Some(InputEvent::CursorMoved {
|
||||
device_id: *device_id,
|
||||
position: *position,
|
||||
}),
|
||||
WindowEvent::CursorEntered { device_id } =>
|
||||
Some(InputEvent::CursorEntered {
|
||||
device_id: *device_id
|
||||
}),
|
||||
WindowEvent::CursorLeft { device_id } =>
|
||||
Some(InputEvent::CursorLeft {
|
||||
device_id: *device_id
|
||||
}),
|
||||
#[allow(deprecated, reason="Compatibility")]
|
||||
WindowEvent::MouseWheel { device_id, delta, phase } =>
|
||||
Some(InputEvent::MouseWheel {
|
||||
device_id: *device_id,
|
||||
delta: *delta,
|
||||
phase: *phase,
|
||||
}),
|
||||
#[allow(deprecated, reason="Compatibility")]
|
||||
WindowEvent::MouseInput { device_id, state, button } =>
|
||||
Some(InputEvent::MouseInput {
|
||||
device_id: *device_id,
|
||||
state: *state,
|
||||
button: *button,
|
||||
}),
|
||||
WindowEvent::TouchpadPressure { device_id, pressure, stage } =>
|
||||
Some(InputEvent::TouchpadPressure {
|
||||
device_id: *device_id,
|
||||
pressure: *pressure,
|
||||
stage: *stage
|
||||
}),
|
||||
WindowEvent::AxisMotion { device_id, axis, value } =>
|
||||
Some(InputEvent::AxisMotion {
|
||||
device_id: *device_id,
|
||||
axis: *axis,
|
||||
value: *value
|
||||
}),
|
||||
WindowEvent::Touch(t) => Some(InputEvent::Touch(*t)),
|
||||
_ => None,
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,16 +1,13 @@
|
|||
pub mod system;
|
||||
mod system;
|
||||
pub use system::*;
|
||||
|
||||
pub mod input_event;
|
||||
pub use input_event::*;
|
||||
|
||||
pub mod events;
|
||||
mod events;
|
||||
pub use events::*;
|
||||
|
||||
pub mod buttons;
|
||||
mod buttons;
|
||||
pub use buttons::*;
|
||||
|
||||
pub mod action;
|
||||
mod action;
|
||||
pub use action::*;
|
||||
|
||||
pub type KeyCode = winit::keyboard::KeyCode;
|
||||
|
@ -122,7 +119,7 @@ pub fn keycode_from_str(s: &str) -> Option<KeyCode> {
|
|||
"numpad_star" => Some(KeyCode::NumpadStar),
|
||||
"quote" => Some(KeyCode::Quote),
|
||||
"launch_app1" => Some(KeyCode::LaunchApp1),
|
||||
"launch_app1" => Some(KeyCode::LaunchApp2),
|
||||
"launch_app2" => Some(KeyCode::LaunchApp2),
|
||||
"backslash" => Some(KeyCode::Backslash),
|
||||
"caps_lock" => Some(KeyCode::CapsLock),
|
||||
"comma" => Some(KeyCode::Comma),
|
||||
|
|
|
@ -6,7 +6,7 @@ use winit::{event::{MouseScrollDelta, WindowEvent}, keyboard::PhysicalKey};
|
|||
|
||||
use crate::{game::GameStages, plugin::Plugin, winit::DeviceEventPair, EventReader, EventWriter};
|
||||
|
||||
use super::{events::*, InputButtons, InputEvent};
|
||||
use super::{events::*, InputButtons};
|
||||
|
||||
fn write_scroll_delta(mouse_scroll_ev: &mut EventWriter<MouseScroll>, delta: &MouseScrollDelta) {
|
||||
let event = match delta {
|
||||
|
@ -119,7 +119,6 @@ impl Plugin for InputPlugin {
|
|||
app.add_resource(InputButtons::<MouseButton>::default());
|
||||
app.add_resource(Touches::default());
|
||||
|
||||
app.register_event::<InputEvent>();
|
||||
app.register_event::<MouseScroll>();
|
||||
app.register_event::<MouseButton>();
|
||||
app.register_event::<MouseMotion>();
|
||||
|
|
|
@ -42,7 +42,7 @@ impl<'a> RenderGraphContext<'a> {
|
|||
pub fn begin_render_pass(
|
||||
&'a mut self,
|
||||
desc: wgpu::RenderPassDescriptor<'a>,
|
||||
) -> wgpu::RenderPass {
|
||||
) -> wgpu::RenderPass<'a> {
|
||||
self.encoder
|
||||
.as_mut()
|
||||
.expect(
|
||||
|
|
Loading…
Reference in New Issue