bitflags::bitflags!{ #[derive(Clone,Copy,Debug,Default)] pub struct Controls:u32{ const MoveForward=1<<0; const MoveLeft=1<<1; const MoveBackward=1<<2; const MoveRight=1<<3; const MoveUp=1<<4; const MoveDown=1<<5; const LookUp=1<<6; const LookLeft=1<<7; const LookDown=1<<8; const LookRight=1<<9; const Jump=1<<10; const Crouch=1<<11; const Sprint=1<<12; const Zoom=1<<13; const Use=1<<14;//Interact with object const PrimaryAction=1<<15;//LBM/Shoot/Melee const SecondaryAction=1<<16;//RMB/ADS/Block const WASD=Self::MoveForward.union(Self::MoveLeft).union(Self::MoveBackward).union(Self::MoveRight).bits(); const WASDQE=Self::MoveForward.union(Self::MoveLeft).union(Self::MoveBackward).union(Self::MoveRight).union(Self::MoveUp).union(Self::MoveDown).bits(); } }