MCPcopy Create free account
hub / github.com/OpenStarbound/OpenStarbound / reset

Method reset

source/game/StarInput.cpp:394–425  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

392
393
394void Input::reset(bool clear) {
395 m_inputEvents.clear();
396 if (clear) {
397 m_keyStates.clear();
398 m_mouseStates.clear();
399 m_controllerStates.clear();
400 m_bindStates.clear();
401 } else {
402 auto eraseCond = [](auto& p) {
403 if (p.second.held)
404 p.second.reset();
405 return !p.second.held;
406 };
407
408 eraseWhere(m_keyStates, eraseCond);
409 eraseWhere(m_mouseStates, eraseCond);
410 eraseWhere(m_controllerStates, eraseCond);
411 eraseWhere(m_bindStates, [&](auto& p) {
412 if (p.second.held)
413 p.second.reset();
414 else {
415 for (auto& tag : p.first->tags) {
416 auto find = m_activeTags.find(tag);
417 if (find != m_activeTags.end() && !--find->second)
418 m_activeTags.erase(find);
419 }
420 return true;
421 }
422 return false;
423 });
424 }
425}
426
427void Input::update() {
428 reset();

Callers 15

uninitMethod · 0.45
removeWearableMethod · 0.45
initMethod · 0.45
closeMethod · 0.45
receivePacketsMethod · 0.45
renderMethod · 0.45
dimWorldMethod · 0.45
setParallaxMethod · 0.45
handleIncomingPacketsMethod · 0.45
clearWorldMethod · 0.45
readNetTileMethod · 0.45
reloadMethod · 0.45

Calls 5

eraseWhereFunction · 0.85
clearMethod · 0.45
findMethod · 0.45
endMethod · 0.45
eraseMethod · 0.45

Tested by

no test coverage detected