| 197 | } |
| 198 | |
| 199 | void Client::ProcessEvents( const SystemEvents& events ) |
| 200 | { |
| 201 | if( cutscene_player_ != nullptr ) |
| 202 | { |
| 203 | cutscene_player_->Process( events ); |
| 204 | } |
| 205 | |
| 206 | using KeyCode= SystemEvent::KeyEvent::KeyCode; |
| 207 | |
| 208 | for( const SystemEvent& event : events ) |
| 209 | { |
| 210 | if( event.type == SystemEvent::Type::MouseMove ) |
| 211 | { |
| 212 | camera_controller_.ControllerRotate( |
| 213 | event.event.mouse_move.dy, |
| 214 | event.event.mouse_move.dx ); |
| 215 | } |
| 216 | |
| 217 | // Select weapon. |
| 218 | if( event.type == SystemEvent::Type::Key && event.event.key.pressed ) |
| 219 | { |
| 220 | if( event.event.key.key_code >= KeyCode::K1 && |
| 221 | static_cast<unsigned int>(event.event.key.key_code) < static_cast<unsigned int>(KeyCode::K1) + GameConstants::weapon_count ) |
| 222 | { |
| 223 | unsigned int weapon_index= |
| 224 | static_cast<unsigned int>( event.event.key.key_code ) - static_cast<unsigned int>( KeyCode::K1 ); |
| 225 | |
| 226 | if( player_state_.ammo[ weapon_index ] > 0u && |
| 227 | ( player_state_.weapons_mask & (1u << weapon_index) ) != 0u ) |
| 228 | requested_weapon_index_= weapon_index; |
| 229 | } |
| 230 | |
| 231 | if( event.event.key.key_code == KeyCode::Tab ) |
| 232 | minimap_mode_= !minimap_mode_; |
| 233 | |
| 234 | if( event.event.key.key_code == KeyCode::Minus ) |
| 235 | settings_.SetSetting( g_small_hud_mode, false ); |
| 236 | if( event.event.key.key_code == KeyCode::Equals ) |
| 237 | settings_.SetSetting( g_small_hud_mode, true ); |
| 238 | } |
| 239 | } // for events |
| 240 | } |
| 241 | |
| 242 | void Client::Loop( const InputState& input_state, const bool paused ) |
| 243 | { |
nothing calls this directly
no test coverage detected