MCPcopy Create free account
hub / github.com/Panzerschrek/Chasm-Reverse / ProcessEvents

Method ProcessEvents

PanzerChasm/client/client.cpp:199–240  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

197}
198
199void 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
242void Client::Loop( const InputState& input_state, const bool paused )
243{

Callers

nothing calls this directly

Calls 3

ProcessMethod · 0.80
ControllerRotateMethod · 0.80
SetSettingMethod · 0.80

Tested by

no test coverage detected