MCPcopy Create free account
hub / github.com/ObEngine/ObEngine / update

Method update

src/Core/Input/InputButtonMonitor.cpp:28–61  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

26 }
27
28 void InputButtonMonitor::update(Triggers::TriggerGroupPtr triggers)
29 {
30 Debug::Log->trace("Updating InputMonitor of {}", m_button.getName());
31 const bool keyPressed = m_button.isPressed();
32 const InputButtonState oldState = m_buttonState;
33 if (keyPressed
34 && (m_buttonState == InputButtonState::Idle
35 || m_buttonState == InputButtonState::Released))
36 {
37 m_buttonState = InputButtonState::Pressed;
38 // InputButtonMonitor::RequireRefresh = true;
39 }
40 else if (keyPressed && m_buttonState == InputButtonState::Pressed)
41 {
42 m_buttonState = InputButtonState::Hold;
43 }
44 else if (!keyPressed
45 && (m_buttonState == InputButtonState::Pressed
46 || m_buttonState == InputButtonState::Hold))
47 {
48 m_buttonState = InputButtonState::Released;
49 // InputButtonMonitor::RequireRefresh = true;
50 }
51 else if (!keyPressed && m_buttonState == InputButtonState::Released)
52 {
53 m_buttonState = InputButtonState::Idle;
54 }
55 if (oldState != m_buttonState)
56 {
57 triggers->pushParameter(m_button.getName(), "previousState", oldState);
58 triggers->pushParameter(m_button.getName(), "state", m_buttonState);
59 triggers->trigger(m_button.getName());
60 }
61 }
62
63} // namespace obe::Input

Callers

nothing calls this directly

Calls 4

traceMethod · 0.80
getNameMethod · 0.45
isPressedMethod · 0.45
pushParameterMethod · 0.45

Tested by

no test coverage detected