From f7decf41d8d0062901cd39c42a3669a80537c7df Mon Sep 17 00:00:00 2001 From: LaG1924 <12997935+LaG1924@users.noreply.github.com> Date: Thu, 3 Aug 2017 20:03:59 +0500 Subject: 2017-08-03 --- src/Render.cpp | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) (limited to 'src/Render.cpp') diff --git a/src/Render.cpp b/src/Render.cpp index ebfbc20..d45d5b6 100644 --- a/src/Render.cpp +++ b/src/Render.cpp @@ -64,7 +64,6 @@ void Render::RenderFrame() { glClearColor(0.2f, 0.3f, 0.3f, 1.0f); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); - window->display(); } @@ -89,6 +88,8 @@ void Render::HandleEvents() { case sf::Keyboard::T: SetMouseCapture(!isMouseCaptured); break; + case sf::Keyboard::U: + EventAgregator::PushEvent(EventType::ConnectToServer, ConnectToServerData{"127.0.0.1", 25565}); default: break; } @@ -122,6 +123,21 @@ void Render::SetMouseCapture(bool IsCaptured) { } void Render::ExecuteRenderLoop() { + EventListener listener; + listener.RegisterHandler(EventType::ConnectionSuccessfull, [this](EventData eventData) { + auto data = std::get(eventData); + window->setTitle("Connected"); + }); + + listener.RegisterHandler(EventType::PlayerConnected, [this](EventData eventData) { + auto data = std::get(eventData); + window->setTitle("Joined the game"); + }); + + listener.RegisterHandler(EventType::RemoveLoadingScreen, [this](EventData eventData) { + window->setTitle("Loaded"); + }); + using namespace std::chrono_literals; LoopExecutionTimeController timer(16ms); while (isRunning) { @@ -130,8 +146,10 @@ void Render::ExecuteRenderLoop() { glCheckError(); RenderFrame(); + while (listener.IsEventsQueueIsNotEmpty()) + listener.HandleEvent(); timer.Update(); } EventData data = GlobalAppStateData{GlobalState::Exiting}; - EventAgregator::PushEvent(EventType::GlobalAppState,data); + EventAgregator::PushEvent(EventType::GlobalAppState, data); } -- cgit v1.2.3