From 5c6e414a1562e8ab5b6411f4b6ac4bbd785a1d41 Mon Sep 17 00:00:00 2001 From: Attila Uygun Date: Mon, 5 Jun 2023 23:25:05 +0200 Subject: [PATCH] Consume input events when switching between renderers --- src/demo/menu.cc | 1 + src/engine/engine.cc | 4 ++++ src/engine/engine.h | 1 + 3 files changed, 6 insertions(+) diff --git a/src/demo/menu.cc b/src/demo/menu.cc index 83f98cf..bd98337 100644 --- a/src/demo/menu.cc +++ b/src/demo/menu.cc @@ -201,6 +201,7 @@ bool Menu::Initialize() { : RendererType::kOpenGL); renderer_type_.SetEnabled( (Engine::Get().GetRendererType() == RendererType::kVulkan)); + Engine::Get().ConsumeInputEvents(); }, true, Engine::Get().GetRendererType() == RendererType::kVulkan, kColorFadeOut, {Vector4f{1, 1, 1, 1}, Vector4f{1, 1, 1, 1}}); diff --git a/src/engine/engine.cc b/src/engine/engine.cc index 3622287..3e8fc64 100644 --- a/src/engine/engine.cc +++ b/src/engine/engine.cc @@ -396,6 +396,10 @@ std::unique_ptr Engine::GetNextInputEvent() { return event; } +void Engine::ConsumeInputEvents() { + input_queue_.clear(); +} + void Engine::StartRecording(const Json::Value& payload) { if (!replaying_ && !recording_) { recording_ = true; diff --git a/src/engine/engine.h b/src/engine/engine.h index bbbe77f..e1136de 100644 --- a/src/engine/engine.h +++ b/src/engine/engine.h @@ -84,6 +84,7 @@ class Engine : public PlatformObserver { void RemoveCustomShader(const std::string& asset_name); std::unique_ptr GetNextInputEvent(); + void ConsumeInputEvents(); void StartRecording(const Json::Value& payload); void EndRecording(const std::string file_name);