schminput/
binding_modification.rs1use bevy::prelude::*;
2
3use crate::subaction_paths::SubactionPath;
4
5#[derive(Debug, Clone, Copy, Reflect, PartialEq, Eq, Deref, Hash)]
6#[repr(transparent)]
7pub struct BindingModifiaction(pub Entity);
8
9#[derive(Debug, Clone, Reflect, PartialEq, Eq, Hash, Component, Default)]
11pub struct BindingModifications {
12 pub all_paths: Option<BindingModifiaction>,
13 pub per_path: Vec<(SubactionPath, BindingModifiaction)>,
14}
15impl BindingModifications {
16 pub fn with_path_modification(mut self, path: SubactionPath, modification: Entity) -> Self {
17 self.path_modification(path, modification);
18 self
19 }
20 pub fn path_modification(&mut self, path: SubactionPath, modification: Entity) {
21 self.per_path
22 .push((path, BindingModifiaction(modification)));
23 }
24 pub fn new() -> Self {
25 Self::default()
26 }
27}
28
29#[derive(Debug, Clone, Copy, Reflect, PartialEq, Eq, Hash, Component)]
30pub struct PremultiplyDeltaSecsModification;
31
32#[derive(Debug, Clone, Copy, Reflect, PartialEq, Eq, Hash, Component)]
33pub struct UnboundedModification;