ProtoTank/Engine/Graphics/InfoScreen.hpp

34 lines
885 B
C++

#pragma once
#include <SFML/Graphics/RenderTexture.hpp>
#include <SFML/System/Vector2.hpp>
#include "Camera.hpp"
#include "../World/Tank.hpp"
class InfoScreen final {
public:
InfoScreen();
~InfoScreen();
InfoScreen(InfoScreen&&) = default;
InfoScreen& operator= (InfoScreen&&) = default;
InfoScreen(InfoScreen const&) = delete;
InfoScreen& operator= (InfoScreen const&) = delete;
const sf::Vector2f& GetRTSize() const noexcept { return mRTSize; }
void SetRTSize(unsigned int w, unsigned int h);
const sf::Vector2f& GetRTOffset() const noexcept { return mRTOffset; }
void SetRTOffset(unsigned int w, unsigned int h) { mRTOffset.x = w; mRTOffset.y = h; }
void Draw(sf::RenderTexture& context);
private:
std::unique_ptr<Camera> mCamera;
sf::Vector2f mRTSize;
sf::Vector2f mRTOffset;
std::unique_ptr<Tank> mTankHolo;
};