2024-08-01 23:32:51 +00:00
|
|
|
#ifndef UI_H
|
|
|
|
#define UI_H
|
|
|
|
|
|
|
|
#define GLFW_INCLUDE_NONE
|
|
|
|
#include "FrameBuffer.h"
|
|
|
|
#include <GLFW/glfw3.h>
|
|
|
|
#include <imgui.h>
|
|
|
|
#include <string>
|
|
|
|
|
2024-08-22 15:55:30 +00:00
|
|
|
struct InspectorData
|
|
|
|
{
|
|
|
|
float m_Position[3];
|
|
|
|
float m_Rotation[3];
|
|
|
|
float m_Scale[3];
|
|
|
|
float m_Color[3] = {1.0f, 1.0f, 1.0f};
|
|
|
|
};
|
|
|
|
|
2024-08-01 23:32:51 +00:00
|
|
|
class UI
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
UI();
|
|
|
|
~UI();
|
|
|
|
|
|
|
|
static void Init(GLFWwindow* window);
|
|
|
|
static void Run();
|
|
|
|
static void Render(const FrameBuffer& sceneBuffer);
|
|
|
|
static void Shutdown();
|
|
|
|
|
|
|
|
static void Print(const std::string& message);
|
2024-08-22 15:55:30 +00:00
|
|
|
static InspectorData GetData();
|
2024-08-01 23:32:51 +00:00
|
|
|
|
|
|
|
static void ShowMenu();
|
|
|
|
static void ShowHierarchy();
|
|
|
|
static void ShowProject();
|
|
|
|
static void ShowConsole();
|
|
|
|
static void ShowScene(const FrameBuffer& sceneBuffer);
|
|
|
|
static void ShowInspector();
|
2024-08-22 15:55:30 +00:00
|
|
|
|
|
|
|
private:
|
|
|
|
static InspectorData s_Data;
|
2024-08-01 23:32:51 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|