29 lines
793 B
C++
29 lines
793 B
C++
#pragma once
|
|
#include <map>
|
|
#include <memory>
|
|
|
|
namespace Palladium {
|
|
/// @brief The Overlay Class (Used for Toasts for example)
|
|
class Ovl {
|
|
public:
|
|
/// @brief Deconstructor
|
|
virtual ~Ovl() {}
|
|
/// @brief Function Called to Draw this
|
|
virtual void Draw() const = 0;
|
|
/// @brief Logic of the Overlay
|
|
virtual void Logic() = 0;
|
|
/// @brief Should the overlay be killed
|
|
/// @return Killed or Not
|
|
inline bool IsKilled() { return this->iskilled; }
|
|
/// @brief Kill The Overlay
|
|
inline void Kill() { iskilled = true; }
|
|
|
|
private:
|
|
/// @param iskilled For IsKilled();
|
|
bool iskilled = false;
|
|
};
|
|
/// @brief Add an Overlay to the Screen
|
|
/// @param scene Overlay to push to Screen
|
|
void AddOvl(std::unique_ptr<Palladium::Ovl> scene);
|
|
} // namespace Palladium
|