mirror of
https://github.com/zhenyan121/Cubed.git
synced 2026-08-08 17:57:02 +08:00
Add PauseMenuUIManager class and integrate pause state into WorldScene. Escape key toggles pause in ClientPlayer and PauseMenuUIManager. Refactor Window mouse and imgui control to support pause state.
31 lines
800 B
C++
31 lines
800 B
C++
#pragma once
|
|
|
|
#include "Cubed/render/texture.hpp"
|
|
#include "Cubed/ui/widget.hpp"
|
|
#include "glm/ext/vector_float2.hpp"
|
|
|
|
namespace Cubed {
|
|
class TextureManager;
|
|
class Image : public Widget {
|
|
public:
|
|
Image(const Image&) = delete;
|
|
Image(Image&&) = delete;
|
|
Image& operator=(const Image&) = delete;
|
|
Image& operator=(Image&&) = delete;
|
|
Image(Widget* parent);
|
|
|
|
Image& set_image(const std::string& path, TextureManager& texture_manager);
|
|
float width() const override;
|
|
float height() const override;
|
|
const Texture* texture() const;
|
|
Image& set_scale(float scale);
|
|
float scale() const;
|
|
|
|
private:
|
|
void on_render(Renderer& renderer) override;
|
|
|
|
const Texture* m_texture = nullptr;
|
|
glm::vec2 m_pos{0.0f, 0.0f};
|
|
float m_scale = 1.0f;
|
|
};
|
|
} // namespace Cubed
|