MCPcopy Create free account
hub / github.com/FlaxEngine/FlaxEngine / Update

Method Update

Source/Engine/Input/Input.cpp:254–311  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

252}
253
254bool Mouse::Update(EventQueue& queue)
255{
256 // Move the current state to the previous
257 Platform::MemoryCopy(&_prevState, &_state, sizeof(State));
258
259 // Gather new events
260 if (UpdateState())
261 return true;
262
263 // Handle events
264 _state.MouseWheelDelta = 0;
265 for (int32 i = 0; i < _queue.Count(); i++)
266 {
267 const Event& e = _queue[i];
268 switch (e.Type)
269 {
270 case EventType::MouseDown:
271 {
272 _state.MouseButtons[static_cast<int32>(e.MouseData.Button)] = true;
273 break;
274 }
275 case EventType::MouseUp:
276 {
277 _state.MouseButtons[static_cast<int32>(e.MouseData.Button)] = false;
278 break;
279 }
280 case EventType::MouseDoubleClick:
281 {
282 _state.MouseButtons[static_cast<int32>(e.MouseData.Button)] = true;
283 break;
284 }
285 case EventType::MouseWheel:
286 {
287 _state.MouseWheelDelta += e.MouseWheelData.WheelDelta;
288 break;
289 }
290 case EventType::MouseMove:
291 {
292 _state.MousePosition = e.MouseData.Position;
293 break;
294 }
295 case EventType::MouseMoveRelative:
296 {
297 _state.MousePosition += e.MouseMovementData.PositionRelative;
298 break;
299 }
300 case EventType::MouseLeave:
301 {
302 break;
303 }
304 }
305 }
306
307 // Send events further
308 queue.Add(_queue);
309 _queue.Clear();
310 return false;
311}

Callers

nothing calls this directly

Calls 15

UpdateStateFunction · 0.85
GetKeyDownFunction · 0.85
GetKeyUpFunction · 0.85
LerpStableFunction · 0.85
SaturateFunction · 0.85
GetGamePausedFunction · 0.85
DeleteObjectMethod · 0.80
RemoveAtKeepOrderMethod · 0.80
LockMethod · 0.80
GetSettingsMethod · 0.80
UnlockMethod · 0.80
GetButtonDownMethod · 0.80

Tested by

no test coverage detected