diff --git a/Engine/Graphics/UI.cpp b/Engine/Graphics/UI.cpp index b8874ca..8ed3ce1 100644 --- a/Engine/Graphics/UI.cpp +++ b/Engine/Graphics/UI.cpp @@ -39,21 +39,32 @@ CockpitUI::CockpitUI() : UI() { } void CockpitUI::Update() { + +} + +void CockpitUI::Draw(std::shared_ptr context) { sf::BlendMode sBM = sf::BlendNone; sf::RenderStates sRS(sBM); + // Clear the UI screen mUIRender.clear(sf::Color::Transparent); + // Draw the static board sf::Sprite staticBoardSprite(mBoardTexture); mUIRender.draw(staticBoardSprite, sRS); + // Draw the radar display sf::CircleShape radar(95, 8); radar.setRotation(22.5f); radar.setPosition(sf::Vector2f(838,378)); radar.setFillColor(sf::Color::Yellow); mUIRender.draw(radar, sRS); + // Do the final texture render mUIRender.display(); + + // OnScreen rendering + DrawUIOnRenderWindow(context); } diff --git a/Engine/Graphics/UI.hpp b/Engine/Graphics/UI.hpp index c2bbf1a..5007b50 100644 --- a/Engine/Graphics/UI.hpp +++ b/Engine/Graphics/UI.hpp @@ -33,7 +33,7 @@ public: CockpitUI& operator= (CockpitUI const&) = delete; void Update() override; - //void Draw(std::shared_ptr) override; + void Draw(std::shared_ptr) override; private: sf::Texture mBoardTexture; diff --git a/Game.cpp b/Game.cpp index 44f71b2..e9feffe 100644 --- a/Game.cpp +++ b/Game.cpp @@ -59,8 +59,8 @@ GAME_STATUS Game::Tick(SysTimer& time) { // Debug performance computations if (mDbgUI != nullptr && mPerfsTimer != nullptr) { - msTicksMonitoring.push_back((mDelta - mPrevdelta) / (1000000/TARGET_FPS)); - if (mPerfsTimer->GetDeltaTime() >= 1000) { // Re-evaluate CPU usage every seconds (for FP'S') + msTicksMonitoring.push_back((mDelta - mPrevdelta) / (1000000.f / TARGET_FPS)); + if (mPerfsTimer->GetDeltaTime() >= 1000) { // Every 1s double cpuUsage = 100 * std::accumulate(msTicksMonitoring.begin(), msTicksMonitoring.end(), (double)(0)) / msTicksMonitoring.size(); mDbgUI->UpdateDebugData(cpuUsage, ((mDelta - mPrevdelta) / 1000), mFrameCnt, (PerfsGetVirtMem() / 1000), (PerfsGetPhysMem() / 1000)); @@ -101,6 +101,7 @@ GAME_STATUS Game::Tick(SysTimer& time) { } void Game::Update() { + // Game logic calls should go here... mWorldUI->Update(); mCockpitUI->Update(); }